6

マウスホイール イベントのtargetプロパティは、マウスホイール (またはジェスチャ対応タッチパッド) が操作されているときに、マウスが現在ホバリングしている DOM 要素を提供します。

これを行うと(少なくともSafari 6では、後で他のブラウザをテストします)、テキストノード自体をtarget.

これは、テキストに対して直接アクションを実行しても、常に非テキスト ノードを生成する他のイベントでは発生しません。

言うまでもなく、そうでない場合よりもコードが複雑になります。

これには理由がありますか?親ノードをチェックする必要は避けたいと思いますが、ありがたいことに、この状況の良い点は、targetノードの親をチェックするだけでよいことです。

これが機能なのかバグなのか判断できません。

4

1 に答える 1

5

これはバグであるため、この動作を正規化する jQuery コードのスニペットです。

// Target should not be a text node (#504, Safari)
if ( event.target.nodeType === 3 ) {
    event.target = event.target.parentNode;
}
于 2013-01-02T10:35:00.950 に答える