如果单击链接内的元素,如何防止默认链接行为

时间:2013-03-04 20:33:05

标签: javascript jquery

我的链接看起来像这样:

<a href="page.html" class="myLink">
  Link text
  <div class="toggle">x</div>
</a>

当他们点击切换中的x时,我想阻止链接导航,但是如果他们点击Link Text我希望链接导航。

我试过了:

$('.toggle').click(function(event) { $(this).parents('a').preventDefault(); });

但它似乎没有用。

2 个答案:

答案 0 :(得分:6)

要停止从点击的元素到外部a的传播,您必须致电stopPropagation。但是在这里你可以简单地返回false(它们都会停止传播并防止默认行为):

$('.toggle').click(function(event) {
    // do interesting things   
    return false
});

答案 1 :(得分:1)

事件不是启动preventDefault()方法所需的元素。

$('.toggle').click(function (event) { 
    event.preventDefault(); 
});

这将阻止事件触发但不会传播文档。

$('.toggle').click(function (event) { 
    event.stopPropagation(); 
});

是对手。