Existe-t-il un moyen de l'exécuter dans cet ordre?ordre dans le déclenchement des événements et des fonctions
HTML:
<button type="button">Click!</button>
JS:
window.addEventListener("hashchange", function() {
eventFunction();
}, false);
document.querySelector('button').addEventListener('click', function() {
location.hash = "changed";
otherFunction();
});
function eventFunction() {
console.log('first');
}
function otherFunction() {
console.log('second');
}
Voici jsFiddle: https://jsfiddle.net/texzj2uv/1/
Il ne déclenchera aucun autre événement tant que le gestionnaire de 'click' n'aura pas terminé son exécution, donc non. Ce n'est pas un problème d'ordre d'événements. Votre seule option serait d'appeler 'eventFunction' et de construire un mécanisme pour éviter les appels doubles (si vous l'avez déjà appelé, ignorez' hashchanged' une fois). – Gabriel