私が読んだすべてのドキュメントから、マウスアウト イベントは、ユーザーが実際にその要素の境界の外にマウスを移動したときにのみ要素と呼ばれます。
私は、要素がクリックされて隠され、クリックの座標が隠されている要素と隠されている要素の間で重なっているときにも、要素で mouseout イベントが発生することを確認しました。
次の要素を検討してください。
要素の緑色の部分 (不明瞭な要素と重なっている領域) をクリックすると、ブラウザー間で一貫性のない動作が見られます。Chrome と Firefox は隠蔽された要素で mouseout イベントを発生させますが、IE と Opera は隠蔽された要素で mouseout イベントを発生させません。HTML/CSS 仕様によると、この条件の「正しい」動作はありますか? CSS ビジュアル フォーマッティング モデルは、イベント処理について何も述べていません。
コードは次のとおりです。
$( '#button' ).on( 'click', function(e) {
$( '#overlay' ).show();
log( document.activeElement + ' has the focus' );
});
$( '#button' ).on( 'mouseout', function(e) {
log( 'target: ' + e.relatedTarget.id );
log( 'why are you mousing out?' );
});
これが実際の例です: http://jsfiddle.net/jmjpro/7Jp2G/6/。