删除锤子事件

问题描述 投票:5回答:2

我使用hammer.js库创建了一个事件,是这样的。

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

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

javascript hammer.js
2个回答
16
投票

这很简单 Hammer(myElement).off(eventName);

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

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

如果你想为事件指定 "命名空间",那么你声明eg.

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

这样就可以只分离出所需的事件,比如说:"我想用jQuery",那么语法是:如果你想为事件指定 "命名空间",那么你就声明eg.js。

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

0
投票

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

$(Element).hammer().unbind()。

$(Element).hammer().bind('swipeleft', 'swiperight', function(){});

包装器在这里。https:/github.comhammerjsjquery.hammer.jssblobmasterjquery.hammer.js。

© www.soinside.com 2019 - 2024. All rights reserved.