移除锤子事件

Removing hammer events

本文关键字:事件      更新时间:2023-09-26

我使用hammer.js库创建一个事件,如下所示:

Hammer(myElement).on("doubletap", function(evt){
            evt.preventDefault();
        });

如何删除已注册的事件?我也可以使用Jquery吗?

就是Hammer(myElement).off(eventName);

如果你想使用jQuery,那么语法是:

$(myElement).hammer().on(eventName, callback)

如果你想为事件指定"namespace",那么你声明eg.

$(myElement).hammer().on("tap.namespace", callback);
$(myElement).hammer().on("tap.anotherNamespace", callback2);

使得只分离想要的事件成为可能,例如:

$(myElement).hammer().off("tap.anotherNamespace");

在hammer.js API的文档中,它声明不会删除dom事件,使用$(element).off()不会解决你的问题,一个解决方法是使用hammer.js的jquery包装器,它们的事件使用bind函数注册在元素上。使用unbind删除所有或特定事件。

$(元素).hammer () .unbind ();

$(元素).hammer()。绑定(‘swipeleft’,‘swiperight’,函数(){});

包装器在这里:https://github.com/hammerjs/jquery.hammer.js/blob/master/jquery.hammer.js