Je crée un bouton dynamiquement en utilisant JavaScript et en même temps en assignant des attributs tels que 'ID', 'type' etc et aussi 'onclick' afin de déclencher une fonction.Comment assigner dynamiquement un attribut JavaScript 'onclick'?
Tout fonctionne correctement, à l'exception de l'affectation de 'onclick'. Lorsque vous cliquez dessus, le bouton ne déclenche pas la fonction comme prévu. la fonction que j'essaie de lancer est 'naviguer (-1)' comme on le voit ci-dessous.
Où est-ce que je me trompe?
Voici mon code:
function loadNavigation() {
var backButton;
backButton = document.createElement('input');
backButton.ID = 'backButton';
backButton.type = 'button';
backButton.value='Back';
backButton.onclick = 'navigate(-1)';
document.body.appendChild(backButton);
}
Une vieille question mais cela doit être dit: vous ne plus assigner onclick;) utiliser button.addEventListener ('clic', fonction) au lieu. – AxelH
@AxelH Quelle est la raison d'utiliser 'addEventListener' sur' onclick'? –
Onclick est un ancien attribut permettant de lier une fonction à un événement. AddEventListener utilise une collection pour stocker les fonctions pour chaque événement, ce qui signifie que vous pouvez ajouter autant de fonctions que vous le souhaitez pour un événement. Cela peut empêcher un comportement inattendu si vous avez des fonctionnalités de paramétrage de script qui pourraient remplacer d'autres fonctionnalités. Onclick est utile pour le code de débogage rapide mais en production, je ne l'utiliserais pas. – AxelH