Javascript 如何禁用鼠标滚轮单击按钮?
我试图找到一种方法来禁用鼠标滚轮按钮的默认操作,即在新选项卡中打开链接 有可能吗?。在该事件处理程序中,调用Javascript 如何禁用鼠标滚轮单击按钮?,javascript,jquery,mousewheel,Javascript,Jquery,Mousewheel,我试图找到一种方法来禁用鼠标滚轮按钮的默认操作,即在新选项卡中打开链接 有可能吗?。在该事件处理程序中,调用e.preventDefault(): 请注意,并非所有浏览器都支持阻止此默认操作。对我来说,它只适用于Chrome。Firefox、Opera和IE9都不会通过鼠标中键点击来引发点击事件。它们确实会启动mouseup和mousedown。使用JAVASCRIPT禁用鼠标滚轮事件: 在IE中: document.attachEvent('onmousewheel', function(e)
e.preventDefault()
:
请注意,并非所有浏览器都支持阻止此默认操作。对我来说,它只适用于Chrome。Firefox、Opera和IE9都不会通过鼠标中键点击来引发点击事件。它们确实会启动mouseup和mousedown。使用JAVASCRIPT禁用鼠标滚轮事件: 在IE中:
document.attachEvent('onmousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('mousewheel', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
document.attachEvent('mousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('DOMMouseScroll', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
在狩猎中:
document.attachEvent('onmousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('mousewheel', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
document.attachEvent('mousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('DOMMouseScroll', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
在歌剧中:
document.attachEvent('onmousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('mousewheel', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
document.attachEvent('mousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('DOMMouseScroll', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
在Firefox中:
document.attachEvent('onmousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('mousewheel', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
document.attachEvent('mousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
document.addEventListener('DOMMouseScroll', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
这对我有用
$(document).on("mousedown", "selector", function (ev) {
if (ev.which == 2) {
ev.preventDefault();
alert("middle button");
return false;
}
});
我的代码:
$(document).on('auxclick', 'a', function(e) {
if (e.which === 2) { //middle Click
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
}
return true;
不适用于chrome,也不适用于firefox。请注意,您的代码是错误的,
“单击”
“中键/鼠标滚轮”按钮甚至不会触发。@Christoph:对不起,从建议的链接复制了它。更正了。@Esailija:我用铬合金工作。在Firefox中确实没有。@J.P.tenBerge什么操作系统<代码>“单击”在windows 7 NVM中不会触发鼠标中键/右键单击,而这只是右键单击。@Esailija:在这里也使用windows 7,在Chrome中与我一起触发鼠标中键单击。此外,我还注意到mouseup和mousedown在其他浏览器中也会被炒鱿鱼。同样,一些不尊重标准鼠标事件的人-。-“很抱歉添加了一条没有添加到封面的评论。但那真是太棒了。