搜索

首页  >  问答  >  正文

javascript - 如何用jQ绑定事件,且事件要支持解绑定和传参数?

请问,用jQ绑定一个mousemove事件,并且该事件需要传入参数,而且得支持解绑定,这该如何实现?
用匿名函数的话,不能解绑定,非匿名的话,好像传不了参数。

大家讲道理大家讲道理2793 天前586

全部回复(3)我来回复

  • 漂亮男人

    漂亮男人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”变量只在函数体内有效,不会污染外部
    });

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:17:05

    写匿名为什么不能解绑? ? ?

    
        $("object").bind("click",function(e){
        if('達到某一條件??') {
             $(this).unbind();
        }
    });
    

    回复
    0
  • 高洛峰

    高洛峰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'); // 解绑

    回复
    0
  • 取消回复