できれば、接続されたリスナーを起動せずにdefault action
、指定されたイベントのオブジェクトをブラウザに実行させる一般的な(クロスブラウザ)方法が必要です。
この種の質問は以前に尋ねられましたが、すでにイベントに参加しているという文脈で、および/または後で発生させる前にデフォルトアクションを同期的に保留することについて厳密に話している.
基本的に、DOM 要素 (どれかわからない) 変数があり、 を呼び出したいとします。click
それがの場合anchor
はそのhref
に続き、 の場合input[type="submit"]
はフォームを送信します。
ただし、イベントに対してその要素のリスナーを起動するclick
ことはありません (リスナーの傾向がある可能性がありpreventDefault()
ます)。
質問に答える理由が必要な人向け。のみを持つブラウザのようなものを実装している場合は、それを実行したい場合があります。
どちらの関数も、デフォルトが「防止」されていない場合に戻りますが、実際にはデフォルトを実行して呼び出すだけです。dispatchEvent()
fireEvent()
true
dispatchEvent()
副次的な質問として、jQuerytrigger()
はこれを実行し (ただし、リスナーを起動した後)、クロスブラウザーであることを意図しています。おそらく解決策はありますか? jQuery と同じくらい素晴らしいので、それが呼び出しているバニラ メソッドを知りたいです ([この特定の機能] が実際に IE8 などで動作する場合)。