Button clicks in Jade

express, html, javascript, pug

Solution

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

Problem

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?

Original source