3 回答 3

6

只是防止事件从#b元素传播/冒泡到<a>元素:

$('#b').on('click', function(e) {
    e.preventDefault();
    // any other code to react to this click here
});

还有一个速记版本来实现同样的事情(如果你没有任何其他逻辑):

$('#b').on('click', false);

文档

该值false也可以作为一个简单的函数的简写return false

从 jQuery 事件处理程序调用return false相当于调用event.stopPropagation()event.preventDefault()。在函数开头调用的好处e.preventDefault()是,即使在执行处理函数的其余部分时抛出错误,它仍然会阻止链接被跟踪。

注意:在使用元素时,您需要确保它们确实存在,然后再尝试这样做。这要么意味着 DOM 就绪处理程序,要么将脚本移动到 HTML 文档的末尾,就在</body>标记之前。

于 2013-10-03T12:51:05.500 回答
1

我认为这样的事情会起作用

$("a #b").click(function(){return false});
于 2013-10-03T12:54:11.733 回答
0

停止传播将click事件绑定到span#b

$('#b').click(function(e) {
   e.stopPropagation();
   return false;
});
于 2013-10-03T12:51:23.103 回答