使用复选框启用调用拖动

时间:2013-04-22 17:20:38

标签: javascript d3.js

如果勾选了checbox,我只是试图调用拖动功能。我一直在尝试实现以下示例:

1

node.call(function(d) { if d3.selectAll("input").property("checked", true) {return drag } })

2

d3.selectAll("input").on("change", change);


    function change() {

 if (this.value === true )  da();



       function da() {

      node.call(drag);

       }

它没有显示错误,只是在选中后才会拖动 - http://jsfiddle.net/gUF8x/3/

1 个答案:

答案 0 :(得分:0)

最大的问题是this.value被设置为复选框的值,而不是状态(例如,如果选中复选框,它不会变为真或假)。相反,您应该使用this.checked

if (this.checked === true )  da();

这将允许调用da();,但是您将收到错误,因为当前正在编写,da()函数不在全局范围内(它当前是draw()函数的子项,因此要实现所需的内容,需要对代码和结构进行更多修改。至少你在这里可以使用错误但是... ...