たとえば持っている
<div>
<a>anything....</a>
</div>
イベントハンドラーの設定:
$("div a").click(.....)
後で$("div").html('')
イベントハンドラーを使用し<div><a>
て迷子になります。
この仕事(きれいなコンテンツ)を実行してハンドラーを存在させる方法はありますか?
たとえば持っている
<div>
<a>anything....</a>
</div>
イベントハンドラーの設定:
$("div a").click(.....)
後で$("div").html('')
イベントハンドラーを使用し<div><a>
て迷子になります。
この仕事(きれいなコンテンツ)を実行してハンドラーを存在させる方法はありますか?
ハンドラーをDOMの上位にある<body>
:のようなものに委任することができます。
$('body').on('click', 'div a', function () {...});
.live()を使用できます:
$("div a").live("click", function(){
alert("Still exists");
});
jQueryのドキュメントによると、これは次のとおりです。
現在および将来、現在のセレクターに一致するすべての要素にイベントハンドラーをアタッチします。
あなたがここで見ることができるように。
jQuery.delegateは役に立ちますか?リンクに参照(クラス、ID)を与えると、その動作を維持する必要があります。