質問

私の問題: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() {});を使用して、そのセレクターに一致する要素にアクションを持たせることができます。新しい要素があってもイベントを維持します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top