0

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

$ ->
  force = d3.layout.force()
    .on('tick', -> alert('tick triggered'))

但这些没有,因为当时没有任何tick功能:

$ ->
  force = d3.layout.force()
    .on('tick', tick)
  tick = ->
    alert('tick triggered')

那么有什么方法可以将 D3 事件绑定到函数吗?

顺便说一句,我试过了

$ ->
  tick = ->
    alert('tick triggered')
  force = d3.layout.force()
    .on('tick', tick)

但是Problem parsing d="MNaN,NaNLNaN,NaN"在滴答声运行时出现了一些问题。

4

2 回答 2

0
$ ->
  force = d3.layout.force()
    .on('tick', tick)
  tick = ->
    alert('tick triggered')

方法

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

return tick = function(){}是非法退货声明。

也许您需要添加tick或添加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;
});
于 2013-07-12T12:19:20.723 回答
0

尝试在这里更改

tick = ->

用这个

tick: =>
于 2013-07-12T12:13:17.413 回答