我的网站的移动版本上有一个下拉菜单。我为单键和双键手势附加了处理程序。我想将所有其他手势默认为正常行为。不管我尝试什么,滑动或平移的开始都会触发singletap事件并做出相应的响应。这是我的代码:
$(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);
});
}
}
});
我想念什么或做错什么?我应该如何设置以便滑动或平移不会触发水龙头?
谢谢!
最佳答案
无法弄清楚,也没有得到我的问题的任何答案,因此切换到SmartMenus,并且效果很好。