我使用hammer.js 库创建一个事件,如下所示:
Hammer(myElement).on("doubletap", function(evt){
evt.preventDefault();
});
我怎样才能删除注册的事件?我也可以使用 Jquery 吗?
我使用hammer.js 库创建一个事件,如下所示:
Hammer(myElement).on("doubletap", function(evt){
evt.preventDefault();
});
我怎样才能删除注册的事件?我也可以使用 Jquery 吗?
简直了Hammer(myElement).off(eventName);
如果你想使用 jQuery,那么语法是:
$(myElement).hammer().on(eventName, callback)
如果你想为事件指定“命名空间”,那么你声明例如。
$(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();
$(element).hammer().bind('swipeleft', 'swiperight', function(){});
包装器在这里:https ://github.com/hammerjs/jquery.hammer.js/blob/master/jquery.hammer.js