私はDOMイベントのクローニングまたは再ディスパッチの単純で抽象的な方法を探しています。私はDOMノードのクローニングに興味はありません。DOMイベントを複製または再ディスパッチする方法は?
少し実験しましたが、DOM Events specificationを読んでもわかりやすい答えが見つかりませんでした。
理想的には、私のようにストレートフォワードとして何かを探しています:このコード例
handler = function(e){
document.getElementById("decoy").dispatchEvent(e)
}
document.getElementById("source").addEventListener("click", handler)
、もちろん、動作しません。イベントが現在ディスパッチされていることを明示するDOM例外があります。
document.createEvent()
で手動で新しいイベントを作成し、初期化してディスパッチしないようにしたいと思います。
このユースケースには簡単な解決策がありますか?
あなたがイベントを再ディスパッチする必要があるのはなぜ? – josh3736
現在、子ノードイベントをディスパッチしていないCSSリージョンの回避策として、これが必要です。リージョンは子ノードのコンテンツのみをレンダリングし、parentNodeとしては動作しません。 –