标签上添加 oncontextmenu 事件就好。下来就是阻止事件传播以及阻止系统右键弹出菜单的功能。于是我这么干:
代码如下 | 复制代码 |
var e = evt || window.event; if(e.preventDefault){ e.preventDefault(); } if (e.stopPropagation){ e.stopPropagation(); }else{ e.cancelBubble = true; } |
在IE9、IE10、FireFox、Chrome下都没问题
但在IE8下系统右键没有阻止,自定义菜单与系统菜单都弹出来了
后来查找相关资料,要在阻止IE8、IE7下的右键系统菜单弹出,需要添加一条语句:
代码如下 | 复制代码 |
e.returnValue = false; |
修改后,最终我的代码如下:
代码如下 | 复制代码 |
var e = evt || window.event; if(e.preventDefault){ e.preventDefault(); } if (e.stopPropagation){ e.stopPropagation(); }else{ e.returnValue = false; // 解决IE8右键弹出 e.cancelBubble = true; } |
问题解决,其实 e.returnValue 可以阻止IE系列浏览器的右键系统菜单弹出
时间: 2025-01-23 17:55:34