のコンテキストメニューを無効にするこのコードがありますdiv
disableContextMenu = function (e){
if(e.stopPropagation)
e.stopPropagation();
if(e.preventDefault)
e.preventDefault();
e.cancelBubble = true;
return false;
};
clickedElement.oncontextmenu = disableContextMenu;
if(clickedElement.addEventListener){
clickedElement.addEventListener('contextmenu', disableContextMenu, false);
}else if(clickedElement.attachEvent){
clickedElement.attachEvent('oncontextmenu', disableContextMenu);
}
これは期待どおりに機能します。しかし、マウスアップハンドラーを追加すると、コンテキストメニューが再び表示されます。
clickedElement.onmousedown = function (e){
if(e.which == 3){
if(e.stopPropagation)
e.stopPropagation();
if(e.preventDefault)
e.preventDefault();
elementToShow.style.position = 'absolute';
elementToShow.style.left = e.pageX + 'px';
elementToShow.style.top = e.pageY + 'px';
elementToShow.style.display = 'block';
return false;
}
}
これは私のIE9では機能しません。代わりにドキュメントを使用しましたが、機能しますが、テキストボックスやその他の要素のコンテキストメニューを無効にしたくありません。どうやってやるの?
これを使用しないように私に提案しないでください。これはクライアント向けのプロジェクトであり、これは要件です。