1

さて、JQuery イベント ハンドラーを設定する関数を呼び出すツールを作成中ですが、その結果、さまざまな関数が呼び出されるたびに同じハンドラーが何度も設定されてしまいます。期待どおりに動作しています。最後に呼び出されたハンドラーのアクションが実行されます。しかし、これは混乱を引き起こしていますか?つまり、クリック イベントを何かに配置してから別のイベントに配置した場合、最初のイベントはまだ存在するのでしょうか? もしそうなら、どうすれば削除できますか?

ありがとう!

わかりやすくするために、私が言いたいことは次のとおりです。

$('#ele').click(function() {
    Do Something
}
$('#ele').click(function() {
    Do Something Else
}
4

2 に答える 2

2

を使用clickすると、新しいクリック ハンドラーが追加されます

これはコンソールに「最初の1秒」と表示されます

$("#test").click(function() { console.log("first"); });
$("#test").click(function() { console.log("second"); });

を使用unbindして、前のクリック ハンドラーを削除できます。これはコンソールに「秒」のみを出力します

$("#test").click(function() { console.log("first"); });
$("#test").unbind("click").click(function() { console.log("second"); });

jsフィドル

于 2013-11-15T08:36:37.770 に答える