Javascript 将D3.js事件绑定到函数?

Javascript 将D3.js事件绑定到函数?,javascript,jquery,d3.js,coffeescript,force-layout,Javascript,Jquery,D3.js,Coffeescript,Force Layout,由于我通过咖啡使用D3.js,以下代码可以正常工作: $ -> force = d3.layout.force() .on('tick', -> alert('tick triggered')) 但这些没有,因为当时没有任何勾选功能: $ -> force = d3.layout.force() .on('tick', tick) tick = -> alert('tick triggered') 那么有没有办法将D3事件绑定到函数

由于我通过咖啡使用D3.js,以下代码可以正常工作:

$ ->
  force = d3.layout.force()
    .on('tick', -> alert('tick triggered'))
但这些没有,因为当时没有任何
勾选功能:

$ ->
  force = d3.layout.force()
    .on('tick', tick)
  tick = ->
    alert('tick triggered')
那么有没有办法将D3事件绑定到函数

顺便说一句,我试过了

$ ->
  tick = ->
    alert('tick triggered')
  force = d3.layout.force()
    .on('tick', tick)
但是一些
解析问题d=“MNaN,NaNLNaN,NaN”
勾选运行时出现问题。

尝试在此处进行更改

tick = ->
用这个

tick: =>
意味着

这里的
return tick=function(){}
是非法的返回语句

可能您需要在咖啡代码的末尾添加
勾选
null
。 像这样

$ ->
  force = d3.layout.force()
    .on('tick', tick)
  tick = -> alert('tick triggered')
  null
//////////////
$(function() {
  var force, tick;
  force = d3.layout.force().on('tick', tick);
  tick = function() {
    return alert('tick triggered');
  };
  return null;
});

请在
tick
is
undefined
中上载您的代码当您尝试在第二个中使用它时,第三个就可以了。你的
NaN
问题是另外一回事。@muistooshort是的,这就是重点!是什么试图解析那堆南?
$(function() {
  var force, tick;
  force = d3.layout.force().on('tick', tick);
  return tick = function() {
    return alert('tick triggered');
  };
});
$ ->
  force = d3.layout.force()
    .on('tick', tick)
  tick = -> alert('tick triggered')
  null
//////////////
$(function() {
  var force, tick;
  force = d3.layout.force().on('tick', tick);
  tick = function() {
    return alert('tick triggered');
  };
  return null;
});