阻止IE8下右键菜单的弹出

JavaScript 2013-07-23 IE8,右键,菜单,事件

今天写一个自定义右键菜单功能,要实现这个功能需要捕获右键事件,这个很容易,几乎没有任何兼容。标签上添加 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系列浏览器的右键系统菜单弹出。不仅是针对IE8以及IE7。

文字链接:《阻止IE8下右键菜单的弹出

文章地址:http://www.qttc.net/201307356.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 0

    Hi,你想第一个做沙发么?