2016-09-29 3 views
1

頻繁に要素が追加されたクラスのclickイベントに関数をバインドする最も適切な方法は何ですか?標準のイベント登録モデルのために、なぜonclick HTML属性を避けるべきですか?

私は、要素の "onclick"属性を使用することは推奨されていないと読んでいます。これが本当なら、なぜですか? "onclick"を使用することは、この時点で最も簡単な方法のようです。

onclickが使用されていない場合は、新しい要素がクラスに追加されるたびに、クラスのすべてのメンバーのクリック機能のバインドを解除して、再度バインドして二重バインディングを回避する必要があります。 onclickでは、問題は完全に回避されます。

したがって、二重バインディングを避けるために、これは簡単ではありませんか?代わりに、上記の私のコメントを1として

+0

IMHO、[この例](http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements)のように.onを使用する方が良いと思います。そのため、動的要素は自動的に対応するイベントをバインドします。しかし、私は実際に最新の実装で更新されていません。 – KiiroSora09

+0

@ KiiroSora09 - ありがとう!それはまさに私が探していたものでした。あなたが答えを書き留めたいのであれば、それを正解とマークします。さもなければ、私はこの質問に自分自身で答えます。 :) –

+0

私は答えとして投稿しました。お役に立てて嬉しいです :) – KiiroSora09

答えて

1

(私たちは、クラスの既存の要素の既存のバインディングをチェックする必要があります)

$("#divid").click(function(){ 
    // do something 
}); 

onclick='somefunction(this)' 

が、これは使用することにより可能です。に()。 this questionの回答を参照してください。

関連する問題