javascript - 在 Firefox 中,javascript e.preventDefault() & return false 不工作

  显示原文与译文双语对照的内容

Chrome:

下面的代码在 Chrome 中工作。


 $('.links').click(function(e) {


 if(e.which == 2) {


 console.log(e.which);//prints 2


//e.preventDefault();


//e.stopPropagation();


 return false;


 }


 });



Firefox:

由于 上面 代码不捕获 Firefox 中的中间按钮/鼠标滚轮单击事件,因这里我尝试了捕捉鼠标轮单击事件。


$('.links').mousedown(function(e) {


 if(e.which == 2) {


 console.log(e.which);//prints 2


//e.preventDefault();


//e.stopPropagation();


 return false;


 }


 });



上面 代码打印 2,但 return false 不工作。

当我用警报替换 console.log 时,它。 但我不能&不想使用警报。

我尝试了mouseup鼠标滚轮事件。 但它不起作用。

我也试过attachEvent但是我收到了一个错误的( 。attchEvent不是函数) 。

我正在使用 below的文件:

  • jQuery-1.10.2.min.js
  • jquery.easyui.min.js
  • jquery-ui.js
  • jquery.ui.core.js

你可以参考 below 链接以获得更清晰的。

jsfiddle.net/nilamnaik1989/vntLyvd2/3

jsfiddle.net/nilamnaik1989/2Lq6mLdp

http://jsfiddle.net/nilamnaik1989/powjm7qf/

http://jsfiddle.net/nilamnaik1989/q6kLvL1p/

下面是一些不错的链接。 但无论如何这并不能解决我的问题。

event.preventDefault() vs-return false

event.preventDefault() vs-return-false ( 没有 jQuery )

http://www.markupjavascript.com/2013/10/event-bubbling-how-to-prevent-it.html

我需要你宝贵的输入。

时间: 原作者:

所有单击默认动作都应该是可以取消的。 这是这重要事件的一个要点。 但是,某些浏览器有例外:

  • IE 5 -8 不会阻止文本输入和textareas的默认值。
  • ie9/10 &在同一组中单击另一单选按钮时,不正确的检查单选按钮。 它不检查新收音机。
  • IE 5 -8,Firefox, & Opera 英镑不会在选择框中阻止默认。
  • 收费 Firefox & Chrome,认为一个单选按钮必须被检查。 如果全部未选中,它们将检查你单击的第一个,即使默认情况下正在被阻止。

请参见事件- 单击。mousedown 。mouseup 。dblclick 了解更多信息。

原作者:
...