Peut-être pourriez-vous ajouter un second écouteur pour "charger" les événements. Je n'ai pas pu trouver de documentation confirmant que les écouteurs d'événements sont appelés dans l'ordre où ils sont définis, mais certaines expériences avec le code ci-dessous montrent que cela semble être le cas. S'il y avait une condition de course, je me attends à voir parfois « AB » et parfois « BA »:
<input type="text" id="field"/>
<script>
var t = document.getElementById("field");
t.value="";
function a(e) {
t.value = t.value + "A";
}
function b(e) {
t.value = t.value + "B";
}
window.addEventListener("load", a, false);
window.addEventListener("load", b, false);
</script>
Une chose à faire attention à ce que si vous ajoutez le deuxième écouteur d'événement trop tard (la charge événement déjà déclenché) il ne sera pas appelé. Quoi qu'il en soit, se sent comme un hack, mais est juste une idée au cas où vous ne pouvez pas trouver une meilleure façon de le gérer.