1. ホーム
  2. jquery

[解決済み】jQueryでマウスが要素上にあるかどうかを確認するにはどうすればよいですか?

2022-04-03 18:05:48

質問

jQueryでこれを簡単に行う方法はないのでしょうか?

mouseoverイベントはすでに他のことに使っているので使いたくありません。 私はただ、ある瞬間にマウスが要素の上にあるかどうかを知る必要があるのです。

こんな感じで、"IsMouseOver"関数があればやりたいんですけどね。

function hideTip(oi) {
    setTimeout(function() { if (!IsMouseOver(oi)) $(oi).fadeOut(); }, 100);
}

解決方法は?

マウスアウトでフェードアウトするタイムアウトを設定し、戻り値をオブジェクト内のdataに格納します。そして、マウスオーバー時に、dataに値があればタイムアウトを解除する。

フェードアウトのコールバック時にデータを削除する。

子供のマウスオーバー/マウスアウトが発生したときにメニューのために発生しないので、実際にはmouseenter/mouseleaveを使用する方がコストが低くなります。