典型的事件传播,禁止事件传播即可,具体做法
/**
* 获取事件对象 <br>
* Author:BluesLee <br>
* CreateDate:2008-7-28 <br>
* Modifier:BluesLee <br>
* ModifyDate:2008-7-28 <br>
* Version:1.1<br>
* Copyright(c)2008 BluesLee<br>
* All right reserved.<br>
*
*/
function SearchEvent(){
if(document.all){//IE
return window.event;
}
//获取调用者
func=SearchEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if(arg0.constructor==Event){
return arg0;
}
}
func=func.caller;
}
return null;
}
/**
* 阻止事件传播
*/
function stopEvent(){
var event=SearchEvent();
if(event.stopPropagation){
event.stopPropagation();
event.preventDefault();
}else{
event.cancelBubble=true;
event.returnValue=false;
}
}
在你的div右键菜单方法里调用stopEvent方法即可
/**
* 获取事件对象 <br>
* Author:BluesLee <br>
* CreateDate:2008-7-28 <br>
* Modifier:BluesLee <br>
* ModifyDate:2008-7-28 <br>
* Version:1.1<br>
* Copyright(c)2008 BluesLee<br>
* All right reserved.<br>
*
*/
function SearchEvent(){
if(document.all){//IE
return window.event;
}
//获取调用者
func=SearchEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if(arg0.constructor==Event){
return arg0;
}
}
func=func.caller;
}
return null;
}
/**
* 阻止事件传播
*/
function stopEvent(){
var event=SearchEvent();
if(event.stopPropagation){
event.stopPropagation();
event.preventDefault();
}else{
event.cancelBubble=true;
event.returnValue=false;
}
}
在你的div右键菜单方法里调用stopEvent方法即可
event.stopPropagation(); // Firefox
或
event.cancelBubble = true; // IE