禁用上下文菜单和右键单击菜单
Disable contextmenu and rightclick menu
$(document).on('mousedown', 'a', function(event){
event.preventDefault();
if(event.which == 1){
if($(this).attr('target') != '_blank'){
loadpage($(this).attr('href'));
}
}
}).on('contextmenu', 'a', function(event){
event.preventDefault();
});
你好,再次堆叠溢出!
对于我当前的项目,我想在每个链接上禁用鼠标右键和中键。当用鼠标左键单击时,如果链接不包含target="_blank"
,我需要调用一个使用 AJAX 加载该页面的函数。(功能loadpage()
)。
这段代码运行良好,尽管鼠标中键仍然会打开一个新选项卡。我该如何解决这个问题?
提前感谢!
在该事件处理程序中,调用
e.preventDefault():
$("#foo").on('click', function(e) {
if( e.which == 2 ) {
e.preventDefault();
}
});
或: 使用 JAVASCRIPT 禁用鼠标滚轮事件:
In IE:
document.attachEvent('onmousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
In Safari:
document.addEventListener('mousewheel', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
In Opera:
document.attachEvent('mousewheel', function(e){
if (!e) var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}, false);
In Firefox:
document.addEventListener('DOMMouseScroll', function(e){
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
相关文章:
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 使用Javascript禁用上下文菜单(右键单击)
- 自定义右键单击UI上下文菜单(复制、粘贴、剪切)用于整个应用程序(所有网页)跨所有浏览器而非单个网页
- MDL菜单点击打开鼠标右键点击错误
- 右键单击Jquery菜单don'函数重写表后无法工作
- 为什么谷歌图表没有右键单击菜单
- 如何根据单击的对象在右键单击时创建多个上下文菜单
- 使用右键单击选择更新上下文菜单
- 禁用上下文菜单和右键单击菜单
- 如何在Chrome的自助服务终端模式下禁用右键单击/长按的上下文菜单
- 单击文本框的右键单击上下文菜单的“删除”后触发的事件
- 右键单击时禁用默认的 silverlight 上下文菜单
- Jstree上下文菜单在右键单击时select_node抑制更改事件
- 花式树:在右键单击上下文菜单中获取节点
- 禁用 HTML 画布上的右键单击上下文菜单
- 如果我创建右键单击菜单,如何保留原始复制和粘贴功能
- 禁用右键单击上下文菜单
- 如何在HTML中的li项目上创建右键单击自定义菜单
- 拉斐尔:禁用默认上下文菜单右键不工作
- Jstree 3.0.0上下文菜单右键不工作.显示TypeError: vakata_context.element.h