防止点击查看研究链接让其他人工作

时间:2013-01-11 15:18:04

标签: jquery

我有一个菜单,当你鼠标悬停时,会出现子菜单。但我希望阻止点击#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>

4 个答案:

答案 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>