我试图阻止菜单中的默认链接点击操作。我使用下面的代码,但是,我注意到,当我点击Link 1
,然后Link 5
,然后返回到Link 1
时,会发生默认操作。直到连续点击两次,才能预设默认值
<ul class="menu">
<li><a href="page1.html">Link 1</a>
<ul>
<li><a href="page2.html">Link 2</a></li>
<li><a href="page3.html">Link 3</a></li>
<li><a href="page4.html">Link 4</a></li>
</ul>
</li>
<li><a href="page5.html">Link 5</a></li>
</ul>
JS:
$(".menu a").one("touchstart, click", false);
我想要做的是这样的:
-
上元素的第一次点击
- 防止默认动作
- 如果其它菜单item元素被点击,为第一个元素重置
.one()
,所以当它再次被点击时,默认动作在进行第二次连续点击之前不会立即发生。
如果我理解你很好,这意味着一个click事件将永远不会成功执行。因为您每次都阻止默认操作 –
否,单击同一元素两次(连续)会允许默认行为。单击一个元素,然后再单击另一个元素,然后返回到第一个元素将防止默认。 – user387990