如果勾选了checbox,我只是试图调用拖动功能。我一直在尝试实现以下示例:
node.call(function(d) { if d3.selectAll("input").property("checked", true) {return drag } })
d3.selectAll("input").on("change", change);
function change() {
if (this.value === true ) da();
function da() {
node.call(drag);
}
它没有显示错误,只是在选中后才会拖动 - http://jsfiddle.net/gUF8x/3/
答案 0 :(得分:0)
最大的问题是this.value
被设置为复选框的值,而不是状态(例如,如果选中复选框,它不会变为真或假)。相反,您应该使用this.checked
:
if (this.checked === true ) da();
这将允许调用da();
,但是您将收到错误,因为当前正在编写,da()
函数不在全局范围内(它当前是draw()
函数的子项,因此要实现所需的内容,需要对代码和结构进行更多修改。至少你在这里可以使用错误但是... ...