Web ページでは、div で構成される 1 つの「context-menu/subMneu」が別の div にカーソルを合わせると表示されます。ユーザーがドキュメントの別の場所をクリックすると、このサブメニューが閉じられます。つまり、ドキュメントをマウスでクリックすると、サブメニューが閉じます。IE8 では、Chrome12 と Firefox のサブメニューがマウスの左クリックで閉じられます。
何が起こっているのか.Internet Explorer8 & Chrome12 では、マウスの右ボタンを押しても閉じません。ブラウザのデフォルト メニューが開かれていますが、これは正しい機能です。しかし、Mozilla Firefox では、マウスの右ボタンをクリックするとサブメニューが閉じてしまいます。
私の問題は、これが Mozilla でのみ発生する理由と、それを解決する方法ですか?
以下はコードスニペットです。IE8 では deatchEventListener/attachEventListener がサポートされていないため、detachEvent/deatchEventListener と attachEvent/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 のみです。ありがとう。