4

できれば、接続されたリスナーを起動せずにdefault action、指定されたイベントのオブジェクトをブラウザに実行させる一般的な(クロスブラウザ)方法が必要です。

この種の質問は以前に尋ねられましたが、すでにイベントに参加しているという文脈で、および/または後で発生させる前にデフォルトアクションを同期的に保留することについて厳密に話している.

基本的に、DOM 要素 (どれかわからない) 変数があり、 を呼び出したいとします。clickそれがの場合anchorはそのhrefに続き、 の場合input[type="submit"]はフォームを送信します。
ただし、イベントに対してその要素のリスナーを起動するclickことはありません (リスナーの傾向がある可能性がありpreventDefault()ます)。

質問に答える理由が必要な人向け。のみを持つブラウザのようなものを実装している場合は、それを実行したい場合があります。 どちらの関数も、デフォルトが「防止」されていない場合に戻りますが、実際にはデフォルトを実行して呼び出すだけです。dispatchEvent()fireEvent()
truedispatchEvent()

副次的な質問として、jQuerytrigger()はこれを実行し (ただし、リスナーを起動した後)、クロスブラウザーであることを意図しています。おそらく解決策はありますか? jQuery と同じくらい素晴らしいので、それが呼び出しているバニラ メソッドを知りたいです ([この特定の機能] が実際に IE8 などで動作する場合)。

4

1 に答える 1