開くと、AngularJS を介してページにオーバーレイを追加する単純なモーダル ダイアログがあります。
var $mask = angular.element('#tbxContainerMask').length
? angular.element('#tbxContainerMask')
: angular.element('<div id="tbxContainerMask"></div>').css({
width: angular.element(window).width(),
height: angular.element(document).innerHeight(),
display: 'none'
}).appendTo('body');
これは、Chrome、Firefox、Opera、および Safari で期待どおりに機能します。
#tbxContainerMask {
position:absolute;
left: 0;
top: 0;
z-index: 10090;
}
モーダルの zIndex はわずかに高く、10100 です。Internet Explorer に到達するまでは、すべて順調です。オーバーレイはポップアップと同じように表示されますが、ユーザーはページの領域にカーソルを合わせてメニューをポップアップし、ホバー効果がトリガーされます。他のブラウザはこれを行いません。IE (バージョン 10 を使用していますが、8 と 9 もサポートする必要があります) を他のブラウザーのように動作させるにはどうすればよいですか? オーバーレイで、「その下」のアイテムのホバーイベントを許可しないようにします。基本的に、私が「期待される」と呼ぶものとして動作します。助けてくれてありがとう。オーバーレイで mouseenter をキャプチャし、オーバーレイで伝播を停止するか、blur() を呼び出すなどのハンドラーを回避したいと思っていました...実際に試してみましたが、うまくいかなかったようです。何か案は?