我的网站的移动版本上有一个下拉菜单。我为单键和双键手势附加了处理程序。我想将所有其他手势默认为正常行为。不管我尝试什么,滑动或平移的开始都会触发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,并且效果很好。

10-06 02:36