在网页中,一个由 div 组成的“上下文菜单/subMneu”在悬停在单独的 div 上时显示。当用户单击文档中的其他位置时,此子菜单将关闭,这意味着鼠标单击文档将导致子菜单关闭。在 IE8 中,Chrome12 和 Firefox 子菜单在单击鼠标左键时关闭。
发生了什么。在 Internet Explorer8 和 Chrome12 中,当我们按下鼠标右键时,它并没有关闭。浏览器的默认菜单正在打开,这是一个正确的功能。但是在 Mozilla Firefox 中单击鼠标右键子菜单正在关闭。
我的问题是为什么这只发生在 Mozilla 中以及如何解决它?
下面是代码片段。我使用了 detachEvent/deatchEventListener 和 attachEvent/attachEventListener ,因为在 IE8 中不支持 deatchEventListener/attachEventListener
代码:
function hideSubMenu(){
doument.getElementById("elem").style.display = none;
if(document.detachEvent){
document.detachEvent('onclick',hideSubMenu);
}
else(document.detachEventListener){
document.detachEventListener('click',hideSubMenu,true);
}
}
#in which Event is attached
function displayMenu(){
if(document.attachEvent){
document.attachEvent('onclick',hideSubMenu);
}
else(document.attachEventListener){
document.attachEventListener('click',hideSubMenu,true);
}
}
注意:我只能使用 javascript。所以请大家记住这一点。谢谢。