我正在寻找这个。而且我找到了更好的解决方案(我认为)。我们可以使用很棒的Modernizr.js库轻松做到这一点。我们可以通过以下函数检测触摸屏设备。
function is_touch_device() {
return !!('ontouchstart' in window);
}
然后我们可以通过 Javascript 动态禁用超链接中的 URL,方法是将位置更改为“#”或阻止父菜单项的默认操作。最终代码如下。
$(document).ready(function() {
/* If mobile browser, prevent click on parent nav item from redirecting to URL */
if(is_touch_device()) {
$('#mainmenu li > ul').each(function (index, ev) {
/* Option 1: Use this to modify the href on the <a> to # */
$(ev).prev('a').attr('href' ,'#');
/* OR Option 2: Use this to keep the href on the <a> intact but prevent the default action */
$(ev).prev('a').click(function(event) {
event.preventDefault();
});
});
}
});
有关更多详细信息,您可以查看此链接
我相信有人会投票给我 :-)
谢谢