2011-01-26 7 views
0

preventDefault()は1つの特定のページで処理できるイベントを混乱させます。 私がしようとしているのは、静的な進行状況バーを表示することだけです。ヘッダーdivの中には、他のhtmlドキュメントへのリンクがあり、それらをロードしてから表示する必要があります。JQuery preventDefault()misbehaves

私はjqueryののこの部分を使用しています:

$("#header a").click(function(e){ 
    $('body').append('<div id="progress">Loading...</div>'); 
    e.preventDefault(); 
    loadPage(e.target.href); 
    e.stopPropagation(); 
    $('#progress').remove(); 
}); 

問題は、ヘッダーのdiv内のリンクをクリックした後にロードされているページに、他のクリックイベントがものを除いて、そのページ上で動作していない、ということですヘッダーに Firebugはヘッダーの外にもはやクリックをキャッチしません。

ありがとうございました! ステファン

答えて

0

リターン偽の両方.. .preventDefaultstoppropagation

("#header a").click(function(e){ 
    $('body').append('<div id="progress">Loading...</div>');  
    loadPage(e.target.href); 
    $('#progress').remove(); 
    return false; 
}); 
+0

がうまくいかないんだろうと、あなたは、コードの下に試すことができます。私がfalseを返すと、他のすべてがうまくいきません。私はこれをやろうとしている、ページを切り替えるときに何らかの読み込み画面を表示する。 falseを返したり、prevetDefault()を実行したりすることなくPC上で動作しますが、モバイルブラウザでは、load()の前にpreventDefault()が呼び出された場合にのみ読み込み画面が表示されます。ありがとう! – Stefan

関連する問題