web-dev-qa-db-ja.com

onMouseOverとonMouseEnterの違い

ユーザーが行の上にマウスを置くと行が強調表示される、単純なhtmlテーブルを作成しようとしています。残念ながら、cssホバーアイテムはIEでは機能しません。それは私にjavascriptでそれをシミュレートすることを残します。 onmouseenterまたはonmouseoverのいずれかを使用できます。

それらの違いは何ですか?どちらを使用すればよいですか?

27
C. Ross

まず、onmouseenterはIE固有です。 simulate このイベントを実行できるjQueryを使用しない限り、他のブラウザでは機能しません。

次に、マウスが要素の境界に入ると、onmouseenteronmouseoverの両方が起動します。ただし、マウスがこの最初の要素内の子要素に入った場合、onmouseenterは再び起動しません(バブルしません)。

39
Chetan Sastry

Onmouseoverイベントとは異なり、onmouseenterイベントはバブルしません。つまり、ユーザーがオブジェクトに含まれる要素の上にマウスポインターを移動しても、onmouseenterイベントは発生しませんが、onmouseoverは発生します。

私はいつもマウスオーバーを使います。同じ目的でonmouseoverを使用します(行を強調表示します)。

3

IE)のすべての要素に:hoverサポートを追加するだけで、コーディングを節約できます。
try csshover.htc

0
djn