mouseenter
マウスに触れていないときにイベントがトリガーされることに気付きましたが、カーソルの下のページがスクロールされます。
このフィドルをチェックしてください: http://jsfiddle.net/F3EwW/
再現する手順:
- をクリックします。
li
- 上下の矢印キーを使用して項目をスクロールします
- 以下がビューにスクロールされると、
mouseenter
イベントがトリガーされることに気付くでしょう。li
注:この動作に気付くには、マウス カーソルが上にあることを確認し、そのli
ままにしておきます。
当初、私はこれをデフォルトの動作として受け入れ、コードでこれを処理するための回避策を講じました..しかし、興味を持って、どこにも見つからなかったドキュメントでこの動作を確認したいと思いました.
この動作が仕様または本物の Web ページのどこかに文書化されているかどうかは誰にもわかりませんか?
w3spec event scrollとmouse event orderを調べましたが、これについては何も見つかりませんでした。
また、mouseenterの仕様説明は次のとおりです。
ユーザー エージェントは、ポインティング デバイスが要素またはその子孫要素の 1 つの境界上に移動したときに、このイベントを送出する必要があります。このイベント タイプは mouseover に似ていますが、バブルしないという点で異なり、ポインター デバイスが要素からその子孫要素の 1 つの境界に移動したときにディスパッチしてはなりません。
mouseover
Chrome では、同様にトリガーされることに気付くでしょう。これについては、すでに質問とバグレポートを投稿しています。