1. ホーム
  2. javascript

[解決済み] CSS ":hover" を有効にするマウスオーバーを純粋なJavaScriptでシミュレートするにはどうしたらいいですか?

2023-01-13 22:40:08

質問

をシミュレートするためのコードを探しています。 mouseover をシミュレートするコードを見つけようとしましたが、"mouseover" リスナーが発生しても、CSS "hover" 宣言は決して設定されません!

もやってみました。

//Called within mouseover listener
theElement.classList.add("hover");

しかし、何もその要素をその hover の宣言にあるものに変えることはできないようです。

これは可能でしょうか?

どのように解決するのですか?

できません。それは 信頼できるイベント .

ユーザとの対話の結果として、または DOM への変更の直接的な結果として、ユーザエージェントによって生成されるイベントは、DocumentEvent.createEvent("Event") メソッドを介してスクリプトによって生成されたイベントには与えられない特権でユーザエージェントによって信頼されて、 Event.initEvent() メソッドを使用して変更されて、または EventTarget.dispatchEvent() メソッドを介してディスパッチされています。信頼できるイベントのisTrusted属性の値はtrueであり、信頼できないイベントのisTrusted属性の値はfalseである。

ほとんどの場合 信頼されないイベントはデフォルトアクションをトリガしないはずです。 ただし、click や DOMActivate イベントは例外です。

クラスを追加し、マウスオーバー/マウスアウトイベントでそれを手動で追加/削除する必要があります。