ホームページ  >  に質問  >  本文

JavaScript - マウスエンターについての質問

リーリー

絶対配置を使用して下の子要素を移動すると、子要素を通過するときにもイベントがトリガーされます。何が起こっているのでしょうか?

滿天的星座滿天的星座2641日前896

全員に返信(2)返信します

  • 怪我咯

    怪我咯2017-07-05 11:01:01

    絶対配置は通常のフローから要素を削除するだけで、ドキュメント ツリーの構造は変更しないため、子要素は引き続き親要素の内部にあると見なされます。

    解決策としては、event.target が子要素であるかどうかを判断するか、mouseover を両方にバインドしてから子要素で stopPropagation を実行することが考えられます。

    返事
    0
  • 滿天的星座

    滿天的星座2017-07-05 11:01:01

    https://www.w3.org/TR/uievent... に基づく

    ユーザー エージェントは、ポインティング デバイスが要素またはその子孫要素の 1 つの境界に移動したときにこのイベントを送出しなければなりません (MUST)。このイベント タイプはマウスオーバーと似ていますが、バブルしないという点で異なり、送出してはなりません。ポインター デバイスが要素からその子孫要素の 1 つの境界に移動したとき。

    翻訳は次のとおりです:

    ポインターのようなものが要素の境界、またはその子孫要素の 1 つの境界に移動するときは、mouseenter イベントをトリガーする必要があります。ポインターが要素からその子孫要素の 1 つの境界に移動すると、mouseenter イベントをトリガーできません。

    つまり、あなたの質問に対する答えは、子孫に移動するとmouseenterもトリガーされると他の人が規定しているということです

    返事
    0
  • キャンセル返事