我有一个链接(#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() 的更多信息