I'm having difficulty getting a button to execute a javascript function when it is clicked, below is my jade file
extends layout
block content
- var something = function() {
- console.log('something')
- }
button(onclick='#{something()}') Click
Where am I going wrong with this?
With this line:button(onclick='#{something()}') Click
you tell Jade that it should paste the content of the function into the value of the onclick attribute.
Just reference the function name:
button(onclick='something()') Click
But this won't work, because the function is only available in the Jade compile step. After this step the generated HTML has no access to the variables which was defined in Jade.
You need to include a JavaScript file or use the script tag:
script.
var something = function() {
console.log('something')
}
button(onclick='something()') Click
Just add a space:
button(onclick='#{something()}') Click
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With