onmouseout動的に作成されたHTML要素で使用すると、イベントに問題が発生します。
これはHTMLコードです:
<div id="imageWrapper">
<img src="imageUrl" alt="">
</div>
これはJavaScriptコードの一部です(jQuery 1.7.2を使用)。
$('body').on('mouseout', 'div#imageWrapper', function () {
alert("Test");
});
明らかに、私が欲しいのは、マウスがいつ離れるかを検出しdiv#imageWrapper、アラートメッセージを表示することです。
そしてそれは機能しますが、私が期待したようには機能しません:
マウスが離れるとアラートが表示されますが、マウスのdiv#imageWrapper内側が要素の上にあると、それも表示されます(要素がの「外側の部分」であるかのように)。奇妙なことに、マウスが画像を離れると(ただし、マウスは画像上にとどまります)、アラートメッセージも表示されます。divimgimgdivdiv
結論: JavaScriptは、div#imageWrapperとそのimg中の要素の両方を2つdiv#imageWrapperの異なるとして扱います。
誰かがこれを修正する方法を知っていますか?