我正在尝试为瑜伽笔记本电脑(支持点击和触控)提供解决方案。我有多级导航,其中子菜单显示在悬停,但在这些笔记本电脑上,您可以触摸/点击菜单,我得到点击事件,加载链接设置在单击顶部菜单项目,不显示子菜单。如果我尝试识别是否支持touch使用modernizr和preventDefault on clikc - 在一些标准(鼠标控制)笔记本电脑上,它会创建顶级导航项目变得无法点击的错误。
所以我要找的是编写只在tap / touch上执行preventDefault而不是点击的函数。 我有这个代码来防止默认,但它似乎被触摸忽略,仍然像点击这些瑜伽笔记本电脑一样:
$(".multi-level .inner-link").on("tap",function (e) {
event.stopPropagation();
e.preventDefault ? e.preventDefault() : event.returnValue = false;
});
任何建议或链接都会有很大帮助。