我試圖阻止菜單中的默認鏈接點擊操作。我使用下面的代碼,但是,我注意到,當我點擊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