J'ai du mal à obtenir un bouton pour exécuter une fonction javascript quand on clique dessus, voici mon fichier jade
extends layout
block content
- var something = function() {
- console.log('something')
- }
button(onclick='#{something()}') Click
Où est-ce que je me trompe avec ça?
Avec cette ligne:button(onclick='#{something()}') Click
vous dites à Jade qu'il doit coller le contenu de la fonction dans la valeur de l'attribut onclick.
Il suffit de référencer le nom de la fonction:
button(onclick='something()') Click
Mais cela ne fonctionnera pas, car la fonction n'est disponible que dans l'étape de compilation Jade. Après cette étape, le code HTML généré n'a pas accès aux variables définies dans Jade.
Vous devez inclure un fichier JavaScript ou utiliser la balise de script:
script.
var something = function() {
console.log('something')
}
button(onclick='something()') Click
Ajoutez simplement un espace:
button(onclick='#{something()}') Click