在下拉导航中禁用父链接

时间:2011-10-31 11:29:05

标签: javascript jquery html css

我有一个导航,类似于以下内容......

<ul>
    <li><a href="page.html" id="hyperlink1">Link</a>
        <ul>
             <li><a href="link.html">Link</a></li>
             <li><a href="link.html">Link</a></li>
             <li><a href="link.html">Link</a></li>
        </ul>
    </li>
</ul>

我想禁用ID为“hyperlink1”的父链接。

我已尝试使用以下

在jQuery中执行此操作
$("a#HyperLink1").click(function() { return false; });

只是它似乎也禁用了所有子链接,有人有更好的解决方案吗?

2 个答案:

答案 0 :(得分:3)

您应该通过在Event对象上使用preventDefault()方法来阻止锚点的默认行为。 :)...

$("a#HyperLink1").click(function(e) {
    e.preventDefault();
});

这允许事件在DOM中冒泡;确保您已经监听事件的任何其他处理程序,但它会阻止执行默认行为(例如,阻止锚点的链接打开,阻止在submit按钮上提交表单)。

答案 1 :(得分:0)

只需删除href属性(如果它不是链接,则不应该是链接):

$('#hyperlink1').removeAttr('href');

而且ID也区分大小写。