问题是,当我使用停止传播并用Ctrl键单击链接时,为什么firefox(3-10)不调用默认的链接处理程序?所有其他浏览器,甚至包括IE!,这样做。
代码示例:
<a href="http://google.com">Click me</a>
<script type="text/javascript">
$('a').click(function(evt){
evt.stopPropagation();
});
</script>
只需打开firefox,按住Ctrl键并单击链接。什么都没发生,为什么?
因为"Ctrl+click"行为是在Firefox附加到窗口的事件处理程序中实现的(实际设置有点复杂,但从网页的角度来看就是这样),并且您正在阻止事件传播到该处理程序,所以它永远不会触发。
这是一个错误,报告给bugzilla:
https://bugzilla.mozilla.org/show_bug.cgi?id=748740
您可以投票支持:)