Je suis à la recherche d'un moyen simple et abstrait de cloner ou de redistribuer les événements DOM uniquement. Je ne suis pas intéressé par le clonage de noeuds DOM.Comment cloner ou redistribuer des événements DOM?
J'ai expérimenté un peu, lisez le DOM Events specification et je n'ai pas trouvé de réponse claire.
Idéalement, je suis à la recherche de quelque chose d'aussi simple que-:
handler = function(e){
document.getElementById("decoy").dispatchEvent(e)
}
document.getElementById("source").addEventListener("click", handler)
Cet exemple de code, bien sûr, ne fonctionne pas. Il existe une exception DOM indiquant que l'événement est en cours d'expédition - évidemment.
Je voudrais éviter de créer manuellement de nouveaux événements avec document.createEvent()
, en les initialisant et en les envoyant.
Existe-t-il une solution simple à ce cas d'utilisation?
Pourquoi avez-vous besoin d'une nouvelle répartition des événements? – josh3736
J'ai besoin de cela comme une solution de contournement pour les régions CSS qui actuellement ne distribuent pas les événements de nœud enfant. Les régions ne restituent que le contenu du noeud enfant, elles n'agissent pas en tant que parentNodes. –