0

クリックイベントハンドラーを要素に追加するには、.bind('click')それ以上.clickですか?何が違いますか?パフォーマンスの側面はありますか?

4

1 に答える 1

5

違いはありません。内部的には、clickを呼び出すだけでなくon、を呼び出すbindだけonです。したがって、速度をわずかに上げるには、次を使用しますon

$("#someId").on("click", function () {
    //Do stuff
});

メソッドのjQuery1.7.2ソース.click()の関連部分は次のとおりです。

return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);

そして、メソッドのソース.bind()

return this.on(types, null, data, fn);

バージョン1.7より前のjQueryを使用している場合...

.on()このメソッドはjQuery1.7で導入されたことに注意してください。古いバージョンを使用している場合は、代わりに.click()内部的に呼び出すだけです。1.6.2から.bind()ソースは.click()次のとおりです。

return arguments.length > 0 ? this.bind(name, data, fn) : this.trigger(name);
于 2012-07-11T09:04:34.990 に答える