ネストされたタグを使用してナビゲーションの2番目(および3番目)のレベルを開く基本的なモバイルナビゲーションドロップダウンメニューを作成しました。ただし、要素はアンカータグにネストされているため、デフォルトのアンカーイベントもトリガーされます。アンカーの子要素をクリックするときに、アンカーのデフォルトイベントを防ぐ方法はありますか?JavaScript - 親アンカー要素のevent.defaultを防止する
HTML
<ul class="main-menu">
<li>
<a href="some-link.html">Some Link
<span class="target"></span>
</a>
<ul class="submenu">
<li><a href="some-link.html">Some Link</a></li>
<li><a href="some-link.html">Some Link</a></li>
<li><a href="some-link.html">Some Link</a></li>
</ul>
</li>
</ul>
例のJavascript
$('span.target').on('click', function(event) {
$(event.target).parent().preventDefault();
// Do somthing
});
試して 'event.stopImmediatePropagation()' –
あなたがそれを使用したくない場合は、なぜあなたはachorタグを使用していますか? divや別のスパンを使用してjsを使用して、必要な動作を達成するのはなぜですか? – Cruiser
preventDefaultはDOMの一部ではなく、イベントの一部です。あなたがhttps://api.jquery.com/event.stoppropagation/ – epascarello