右クリックして表示されるコンテキストメニューを実装しようとしてcontextFolderいますz-index: 1000。
そのために、JQueryを使用してcontextmenuイベントをdivにバインドします。これは正常に機能しています。このコンテキストメニューを非表示にしたい
- ユーザーが画面上の任意の場所を左クリックすると、
- ユーザーは、他の場所を除いて、画面上の任意の場所を右クリックします
div.contextfFolder
コンテキストメニューが開いていて、他のコンテキストメニューで右クリックが発生した場合div.contextFolder、現在のコンテキストメニューを非表示にして、新しいコンテキストメニューを開きdiv.contextFolderます。
コンテキストメニューに表示するときにそれを行うには、
- また、、、、およびで
height: 100%オーバーレイを作成します。width: 100%z-index: 100 - 左クリックイベントをこのオーバーレイにバインドして、クリックしたときに、
- オーバーレイが削除され、
- コンテキストメニューは非表示になっています。
- また、コンテキストメニューをバインドしてコンテキストメニューを非表示にし、右クリックして別のポイント以外のポイントに
overlay移動すると削除しますoverlaydiv.contextFolder - コンテキストメニューのオーバーレイの左クリックイベントを防ぐために、コンテキストメニューにも割り当て
z-index: 101ます。(オーバーレイのz-indexは100です)
これは私にはすべて問題ないようです(私はCSSの初心者なので、非常に明白な何かが欠けている可能性があります)。
div.contextFolder別のコンテキストメニューがすでに開いているときに右クリックした場合を除いて、すべて正常に機能していdiv.contextFolderます。オーバーレイのコンテキストメニューイベントに移動します(現在のイベントに非表示になります)。新しいものを開けて欲しいです。
ChromeとFirefoxの最新バージョンでこれをテストしました。
これはフィドルです。
ありがとうございました。