Fiddle:
http://jsfiddle.net/FN2Ab/6/
在 html 中,我有一个
<button id="start">start!</button>
我想做的
d3.select("#start").on('click',printTimers())
其中 printTimers 是一个函数,它将时间戳附加到所有
<div class="timer">.
但是,.on('click',printTimers())不起作用。它不是在按下开始按钮时附加时间戳,而是在页面加载后立即附加时间戳。
我对 d3js 和 webdev 很陌生,我正在努力弄清楚它在哪里被破坏了。我看过的资源没有帮助;希望有人能指出我做错了什么?
这是因为您在尝试绑定函数时正在调用该函数。删除函数名称后面的括号,以便将函数引用发送到 on
方法中,而不是调用该方法的结果:
d3.select("#start").on('click', printTimers);