これはバグかこれを行うとは思わないかどうかは不明です。ajax呼び出し後のjquery、同じIDのイベントが動作しなくなった
本体を動的に読み込むサイドバー付きのページがあります。
ページ1では、初期ロード時に機能する要素#id1のコールバックがあります。
ユーザーがページ2に移動すると、メインコンテンツは#id1の要素を持つpage2のコンテンツに置き換えられ、同じ目的を果たします。イベントもここで初期化されます。
問題は、ページ2のすべてが#id1に関連付けられたイベントを除いて動作することです。
ページ1に戻ると、#id1もうまくいきません。
コンソールを見た後、$( "#id1")を呼ぶと時には初期ロード要素(破棄されない?)が与えられることがわかりました。これはおそらく理由でしょう。
AJAX負荷は、単に使用:
$に.get(パス、関数(データ){$() '#主' HTML(データ)})。
ここで何が起こっているのでしょうか?
古い要素が「jqueryで適切に破棄されていない」場合は、ここで何が行われると考えられますか?
恐ろしい! Thx男! '.bind'または' .on'でバインドすると、それは何の違いもないと常に教えています – noob
'.bind'を使うと、セレクタで指定された要素に直接バインドすることができます。後でセレクタに一致する新しい要素を追加すると、それらにはイベントがバインドされません。 '.live' /'を使う。新しく作成された要素でも結束したイベントに確実に応答することができますが、これにより遅くなりますので、必要なときにのみ使用するようにしてください。 – Interrobang