我的网站移动版本上有一个下拉菜单。我正在附加单击和双击手势的处理程序。我想要默认其正常行为的所有其他手势。无论我尝试什么,滑动或平移的开始都会触发单击事件并相应地做出响应。这是我的代码:
$(document).ready(function () {
var menuLinks1 = document.querySelectorAll(".menu.level1 a.item");
for (var i = 0; i < menuLinks1.length; i++) {
var menuLink1 = menuLinks1[i];
if (menuLink1) {
var hammerMgr = new Hammer.Manager(menuLink1);
hammerMgr.add(new Hammer.Tap({ event: "doubletap", taps: 2 }));
hammerMgr.add(new Hammer.Tap({ event: "singletap" }));
hammerMgr.add(new Hammer.Tap({ event: "pan" }));
hammerMgr.add(new Hammer.Tap({ event: "swipe" }));
hammerMgr.get("pan").set({ direction: Hammer.DIRECTION_ALL });
hammerMgr.get("doubletap").recognizeWith("singletap");
hammerMgr.get("singletap").requireFailure("doubletap");
hammerMgr.get("singletap").requireFailure("pan");
hammerMgr.get("singletap").requireFailure("swipe");
hammerMgr.on("doubletap", function (e) {
doubletapMenuItem(e);
});
hammerMgr.on("singletap", function (e) {
toggleSubmenu(e);
});
}
}
});
我错过了什么或做错了什么?我应该如何设置它以便滑动或平移不会触发敲击?
谢谢!
答案 0 :(得分:0)
无法弄明白并且没有得到我的问题的任何答案,所以切换到SmartMenus并且它运作良好。