e.preventDefault() 并返回 false 在 Firefox 中不起作用
e.preventDefault() & return false not working in firefox
Chrome :
以下代码在 Chrome 中工作。
$('.links').click(function(e) {
if(e.which == 2) {
console.log(e.which); // prints 2
//e.preventDefault();
//e.stopPropagation();
return false;
}
});
火狐 :
由于上面的代码在Firefox中没有捕获中间按钮/鼠标滚轮单击事件,因此我尝试遵循能够捕获鼠标滚轮单击事件的方法。
$('.links').mousedown(function(e) {
if(e.which == 2) {
console.log(e.which); // prints 2
//e.preventDefault();
//e.stopPropagation();
return false;
}
});
上面的代码打印 2。 但返回假;不工作。
当我用警报替换控制台.log时,它可以工作。 但我不能也不想使用警报。
我尝试了鼠标向上,鼠标滚轮事件也。 但它没有用。
我也尝试了附加事件,但是,我遇到了一个错误(attchEvent 不是一个函数)。
我正在使用下面提到的js文件:
- jQuery-1.10.2.min.js
- jquery.easyui.min.js
- jquery-ui.js
- jquery.ui.core.js
您可以参考以下链接以更清楚地了解情况。
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 (no jQuery)
http://www.markupjavascript.com/2013/10/event-bubbling-how-to-prevent-it.html
我需要你们的宝贵意见。
所有点击默认操作都应可取消。这是这一重要事件的要点之一。但是,某些浏览器有例外:
- IE 5-8 不会阻止文本输入和文本区域的默认值。
- IE9/10 & Opera 在单击同一组中的另一个收音机时错误地取消选中单选按钮。它不会正确检查新无线电。
- IE 5-8、Firefox 和 Opera 不会阻止选择框的默认设置。
- Firefox 和 Chrome 认为必须选中一个单选按钮。如果全部未选中,他们将检查您单击的第一个,即使默认设置被阻止。
请参阅事件 - 单击、鼠标向下、鼠标向上、dblclick 了解更多信息。
我在使用Firefox时遇到了同样的问题,与
preventDefault();
在Safari,Chrome,Opera甚至IE9中一切都运行良好(不是开玩笑)但是,经过大量阅读,我看到该网站正在使用旧的jquery版本(1.10),然后更新到最新版本(2.1.4),即使在Firefox中,该操作也被取消了。
要考虑的另一件事是,我使用了一个名为"keyPressed"的变量,如下所示:
var keyPressed = event.keyCode || event.which || event.charCode
因此,每个浏览器都很容易识别关键事件。
希望这有帮助!
我在中键点击时在 FF 中遇到了类似的问题。
以下脚本解决了我的问题,它在 FF 中也能正常工作。
$(document).on('click', $(".content"), function(e) {
if(e.button==1) {
e.preventDefault();
return false;
}
})
- 为什么javascript:void(0)在Firefox中不起作用
- jpm的默认Firefox路径没有'不起作用
- 设置 CSS 背景在 Firefox 中不起作用
- document.getElementById 在 Firefox 中不起作用
- firefox中的CSS动画不起作用
- event.stopPropagation()在firefox javascript中不起作用
- 复选框.onClick在firefox中不起作用
- window.close();在Chrome和Firefox中不起作用
- JQuery在Chrome中不起作用,但Firefox很好
- 选择“行在 Chrome 和 Firefox 中不起作用(生成的代码)”
- Javascript 按键事件在 Firefox 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 更改 Angular 2 中选择的事件在 Firefox 和 Edge 中不起作用
- jQuery SlideToggle() 在 FireFox 中不起作用,在 Chrome 中工作
- 动态关键帧插入在 IE 或 Firefox 上不起作用
- 使用 nameProp 的 JQuery 图像滚动更新在 Firefox 和 Chrome 中不起作用
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用