触摸启动并防止默认阻止子链接



我有一个链接(#my-link),在桌面上悬停时打开div(#my 菜单)。在这个div里面有小菜单。

现在我正在尝试让它在手机上使用水龙头工作。

我有这段代码,但我无法单击div 内的链接:

$('#my-link').on('touchstart', function (e) {        
     e.preventDefault();        
     $('#my-menu').load(...Im loading content here...);
     $('#my-menu').toggle();
});  

有什么帮助吗?我认为预防默认正在阻止这些链接...

网页标记:

<a href="example.com" id="my-link">Lorem ipsum</a>
<div id="my-menu">
<a href="example.com">Lorem ipsum</a>
<a href="example.com">Lorem ipsum</a>
<a href="example.com">Lorem ipsum</a>
</div>

编辑:

我能够解决包装链接标签的问题,例如:

<div id="my-link"><a href="example.com">Lorem ipsum</a></div>

然后将脚本的第一行追逐到:

$('#my-link > a').on('touchstart', function (e) { 

>event.preventDefault()阻止执行元素的默认操作,因此在这种情况下,<a></a>标签的默认值是向服务器发送请求。某些标签没有默认操作,因此您应该使用这些标签,例如 <div></div><h1></h1> 或其他标签。如果您需要使用 <a></a> 标记,请执行阻止链接执行任何操作<a href="javascript:void(0)"></a>

有关 event.preventDefault() 的更多信息

最新更新