请问,用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'); // 解绑
给匿名函数安个内部名字就可以了。
写匿名为什么不能解绑? ? ?
具名函数绑定传参及解绑:
匿名函数绑定传参及解绑: