我检查了相关的答案,但无法适应解决方案,所以需要你的帮助。我希望preventdefault();
仅适用于父元素,但这里适用于所有内容
<ul class="links">
<li><a href="#"><b>Accueil</b></a></li>
<li>
<a href="#"><b>Liste serveurs</b></a>
<ul class="sub">
<li><a href="#"><b>sub 1</b></a></li>
<li><a href="#"><b>sub 2</b></a></li>
</ul>
</li>
</ul>
JS
$('.links > li').on('click',function(noway) {
noway.preventDefault();
});
目标是当我点击倾听服务员, .sub出现时,但是当我点击 sub 1 时,没有任何反应。我想转到第1个链接。
编辑:我没有得到它,我觉得这是完全错误的,但它确实有效。$('.links > li').on('click',function(noway) {
if($(this).attr("class") === "sub") { noway.preventDefault(); }
});
答案 0 :(得分:2)
尝试最基本的方式....为什么要让它变得复杂!!
$('ul.links > li > a').click(function(event ) {
event.preventDefault();
});
含义:
preventDefault()
仅适用于a
的直接后代li
,此li
应为ul.links
的直接后代
答案 1 :(得分:0)
这是有效的
<ul class="links">
<li><a href="http://www.google.com"><b>Accueil</b></a></li>
<li>
<a href="#"><b>Liste serveurs</b></a>
<ul class="sub">
<li><a rel="1" href="http://www.google.com"><b>sub 1</b></a></li>
<li><a rel="1" href="#"><b>sub 2</b></a></li>
</ul>
</li>
</ul>
$(document).ready(function(){
$('a').click(function(noway) {
if($(this).attr("rel")!="1")
noway.preventDefault();
})
});