我有一个菜单,当你鼠标悬停时,会出现子菜单。但我希望阻止点击#research链接,所以我使用了下面的jquery。但这也阻止了我的“我的应用程序”链接被点击。有人可以帮助我吗?
JQUERY
$('#research a').click(function(e){
e.preventDefault();
});
HTML
<li id="research"><a href="#">Research</a>
<div class="submenu" style="display:none">
<div class="submenuLeft">
<ul>
<li class="title">Application</li>
<li><a href="/research/application">My Application</a></li>
</ul>
</div><!--submenuLeft-->
</div><!--submenu-->
</li>
答案 0 :(得分:5)
为您的链接提供类别 - 例如'隐藏'
$('#research a.hide').click(function(e){
e.preventDefault();
});
或使用方法.first()
$('#research a').first().click(function(e){
e.preventDefault();
});
或
$('#research a[href="#"]').click(function(e){
e.preventDefault();
});
或类似的东西
$('#research a').filter(function() {
var $this = $(this);
return $this.text().toLowerCase() == 'research';
}).click(function(e){
e.preventDefault();
});
答案 1 :(得分:2)
尝试
$('#research > a').click(function(e){
e.preventDefault();
});
首选>
以确保a是li#research
的直接后代。
@algorhythm已经提到了first()
。
稍微将其更改为以下代码段会更快执行。
$('#research a:first-child').click(function(e){
e.preventDefault();
});
答案 2 :(得分:2)
尝试此操作,请确保只有#符号用于href=#
$('#research a:[href="#"]').click(function(e){
e.preventDefault();
});
答案 3 :(得分:2)
<li id="research"><a href="javascript:void(0)">Research</a>