3

我有一个看起来像这样的链接:

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

当他们单击xin 切换时,我想阻止链接导航,但如果他们确实单击了Link Text我希望链接导航。

我试过这个:

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

但它似乎没有用。

4

2 回答 2

6

要停止从单击元素到外部的传播a,您必须调用stopPropagation。但是在这里你可以简单地返回 false (它既停止传播又防止默认行为):

$('.toggle').click(function(event) {
    // do interesting things   
    return false
});
于 2013-03-04T20:34:37.110 回答
1

它是事件而不是您需要触发 preventDefault() 方法的元素。

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

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

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

是不是对方。

于 2013-03-04T21:05:02.430 回答