請問,用jQ綁定一個mousemove事件,並且該事件需要傳入參數,而且得支持解綁定,這該如何實現? 用匿名函數的話,不能解綁定,非匿名的話,好像傳不了參數。
光阴似箭催人老,日月如移越少年。
給匿名函數安個內部名字就可以了。
$(element).on('mousemove',{a:1},function handler(ev){ console.log(ev.data);//{a:1} $(this).off('mousemove',handler);//“handler”变量只在函数体内有效,不会污染外部 });
寫匿名為什麼不能解綁? ? ?
$("object").bind("click",function(e){ if('達到某一條件??') { $(this).unbind(); } });
具名函數綁定傳參及解綁定:
function omg(event) { console.info(event.data.foo); } $('#omg').on('mousemove.omg', {foo: "bar"}, omg); // 绑定及传参 $('#omg').off('.omg'); // 解绑
匿名函數綁定傳參及解綁:
$('#omg').on('mousemove.omg', {foo: "bar"}, function (event) { console.info(event.data.foo); }); // 绑定及传参 $('#omg').off('.omg'); // 解绑
給匿名函數安個內部名字就可以了。
寫匿名為什麼不能解綁? ? ?
具名函數綁定傳參及解綁定:
匿名函數綁定傳參及解綁: