解決:
解決策を見つけました。
使用された親ノード:
$('.skaftetopmenu-li > a').click(function(e) {
e.preventDefault();
var subid = $(this.parentNode).attr('id');
if (subid !="forsidemenu"){
var str = $('#submenu-content-'+subid).html();
if ($.trim(str) == ""){
$('.submenu-content', this.parentNode).load('http://' + skafte.base_url + '/inc/top-menu-subs/'+subid+'_submenu.html');
}
}
});
次のようなメニューがあります。
<ul>
<li class="parent">
<a href="url">Link title parent</a>
<ul>
<li><a href="url">Link title child</a></li>
</ul>
</li>
</ul>
jQueryで次のことを試しました:
$('.parent').click(function(e) {
e.preventDefault();
});
ただし、これにより、メニュー構造全体のすべての要素が無効になります。親リンクのみを無効にしたい。「ul ul li」にあるもので、「ul ul li」にあるリンクではありませんが、方法がわからず、検索して検索しました。だから私を助けてください!
編集:答えてくれてありがとう。質問のコードを単純化すると思っていましたが、実際には役に立ちませんでした。だから、私が使用している実際のコードは次のとおりです。
$('.skaftetopmenu-li').click(function(e) {
var subid = $(this).attr('id');
if (subid !="forsidemenu"){
var str = $('#submenu-content-'+subid).html();
if ($.trim(str) == ""){
$('.submenu-content', this).load('http://' + skafte.base_url + '/inc/top-menu-subs/'+subid+'_submenu.html');
}
}
});
そしてHTML:
<li class="skaftetopmenu-li" id="priser">
<a href="http://<?php echo DOMAIN?>/priser.php">Priser & Sortiment</a>
<div class="submenu-content" id="submenu-content-priser"></div>
</li>
あなたが提案するようにしようとすると、次のように設定します。
$('.skaftetopmenu-li > a').click(function(e) {
e.preventDefault();
うまくいきません..