請問,用jQ綁定一個mousemove事件,並且該事件需要傳入參數,而且得支持解綁定,這該如何實現?
用匿名函數的話,不能解綁定,非匿名的話,好像傳不了參數。
漂亮男人2017-05-19 10:17:05
給匿名函數安個內部名字就可以了。
$(element).on('mousemove',{a:1},function handler(ev){
console.log(ev.data);//{a:1}
$(this).off('mousemove',handler);//“handler”变量只在函数体内有效,不会污染外部
});
曾经蜡笔没有小新2017-05-19 10:17:05
寫匿名為什麼不能解綁? ? ?
$("object").bind("click",function(e){
if('達到某一條件??') {
$(this).unbind();
}
});
高洛峰2017-05-19 10:17:05
具名函數綁定傳參及解綁定:
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'); // 解绑