suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie verwende ich jQ zum Binden von Ereignissen und die Ereignisse müssen das Aufheben der Bindung und die Übergabe von Parametern unterstützen?

Entschuldigung, wie kann ich jQ verwenden, um ein Mousemove-Ereignis zu binden, und das Ereignis muss Parameter übergeben und das Aufheben der Bindung unterstützen?
Wenn Sie eine anonyme Funktion verwenden, können Sie die Bindung nicht aufheben. Wenn sie nicht anonym ist, können Sie anscheinend keine Parameter übergeben.

大家讲道理大家讲道理2747 Tage vor560

Antworte allen(3)Ich werde antworten

  • 漂亮男人

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

    Antwort
    0
  • 曾经蜡笔没有小新

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

    寫匿名為什麼不能解綁???

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

    Antwort
    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'); // 解绑

    Antwort
    0
  • StornierenAntwort