0

bind()orを使用してハンドラーを何かにバインドし、on()などのデータを指定するとします{ color : "red" }。その後、状況が変化し、イベントを でトリガーしたいとします{ color : "blue"}unbind()orを使用してハンドラーを削除せずにこれを変更off()し、新しいデータ オブジェクトに再バインドする方法はありますか?

4

3 に答える 3

1

データを取得するメソッドを渡すことができますか? すなわち

var data = {test : 'test'};
var DataGetter = function() { return data;};
$('element').on('click', DataGetter, function(e) {
var data=e.data();
});
data.test='Hello';
data = {hello: 'world'};
于 2014-05-08T14:57:49.233 に答える
0

役立つと思われる別の質問を見つけました。

jQueryは、オブジェクトに登録されたイベントハンドラーを見つけます

jQuery 変数を直接見て、投稿された内容を確認しているようです。

jQuery._data( elem, "events" );

これは安全で安全ではないようです。変更できるかどうかはわかりませんが、表示することはできます。

イベントを削除してから、新しいイベントを追加する方が良いと思います。

于 2014-05-08T14:58:09.193 に答える