我有一个导航,类似于以下内容......
<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; });
只是它似乎也禁用了所有子链接,有人有更好的解决方案吗?
答案 0 :(得分:3)
您应该通过在Event对象上使用preventDefault()
方法来阻止锚点的默认行为。 :)...
$("a#HyperLink1").click(function(e) {
e.preventDefault();
});
这允许事件在DOM中冒泡;确保您已经监听事件的任何其他处理程序,但它会阻止执行默认行为(例如,阻止锚点的链接打开,阻止在submit
按钮上提交表单)。
答案 1 :(得分:0)
只需删除href属性(如果它不是链接,则不应该是链接):
$('#hyperlink1').removeAttr('href');
而且ID也区分大小写。