我想阻止链接打开页面.所以我写了这个:
$("a").click(function(e) { e.preventDefault() }
这是伟大的!但这阻挡了我的其他事件:
$(".toolbar a").click(function(e) { ...action... }
当然我可以通过一些测试将我的动作添加到第一个事件中,但是有没有一个优雅的方法来防止只执行href事件?
编辑
其实它的作品,对不起.看到@ raina77ow小提琴在这里工作:http://jsfiddle.net/HeFS6/
解决方法
使用return false代替.您可以看到下面的代码工作
here.
$("a").click(function() { return false; }); $(".toolbar a").click(function() { alert("Do something"); });
正如@ raina77ow与this article所指出的一样,使用return false与调用event.preventDefault()以及event.stopPropagation()一样.由于我过去曾经遇到麻烦,没有对某些代码做出虚假的反应,所以我总是建议.
但这里最重要的是绑定顺序:你的最后绑定将是你的第一个执行代码.所以,要小心,去吧.