一部の機能を存在しない要素にバインドする方法は?
-
05-07-2019 - |
質問
私の問題:ajaxを介していくつかの要素をロードした後、オンクリック機能をバインドしますが、ユーザーが同じ要素を数回ロードすると、バインドされたアクションが繰り返されます(少なくとも置き換えられないように見えます)。 unbind
またはclick(function(){return false;});
を試しましたが、要素からclicアクションを完全に削除します...)。
この種の問題の標準的な解決策は何ですか?
解決
ほとんどのイベントでは、 live()
(jQuery 1.3+)を使用できます。
$("td").live("click", function() {
// do stuff
});
これにより、クリックイベントが、このコードを実行した後に存在する<td>
要素にバインドされます。
これは、バインド/アンバインドを試み、特定の要素に同じイベントが2回バインドされないようにするよりもはるかにクリーンなソリューションです。
他のヒント
jQuery 1.3.2を使用している場合、$('').live('click', function() {});
を使用して、そのセレクターに一致する要素にアクションを持たせることができます。新しい要素があってもイベントを維持します。
所属していません StackOverflow