86

DOM イベントのみを複製または再ディスパッチする単純で抽象的な方法を探しています。DOM ノードの複製には興味がありません。

私は少し実験して、DOM Events の仕様を読みましたが、明確な答えは見つかりませんでした。

理想的には、次のような単純なものを探しています。

handler = function(e){
  document.getElementById("decoy").dispatchEvent(e)
}
document.getElementById("source").addEventListener("click", handler)

もちろん、このコード例は機能しません。イベントが現在ディスパッチされていることを示すDOM例外があります-明らかに。

document.createEvent()を使用して新しいイベントを手動で作成し、初期化してディスパッチすることは避けたいと思います。

このユースケースに対する簡単な解決策はありますか?

4

2 に答える 2