Javascript 使用复选框启用调用拖动
如果勾选了checbox,我只是尝试调用drag函数。我一直在尝试实现以下示例: 1. 2.Javascript 使用复选框启用调用拖动,javascript,d3.js,Javascript,D3.js,如果勾选了checbox,我只是尝试调用drag函数。我一直在尝试实现以下示例: 1. 2. 它不会显示错误,只是在选中后不会拖动-最大的问题是此值设置为复选框的值,而不是状态(例如,如果选中复选框,则不会变为true或false)。相反,您应该使用此选项。选中: if (this.checked === true ) da(); 这将允许调用da()将发生,但是您将得到一个错误,因为在当前编写时,da()函数不在全局范围内(它当前是draw()函数的子函数),因此要实现所需的功能,需要对代
它不会显示错误,只是在选中后不会拖动-最大的问题是
此值设置为复选框的值,而不是状态(例如,如果选中复选框,则不会变为true或false)。相反,您应该使用此选项。选中:
if (this.checked === true ) da();
这将允许调用da()
将发生,但是您将得到一个错误,因为在当前编写时,da()
函数不在全局范围内(它当前是draw()
函数的子函数),因此要实现所需的功能,需要对代码和结构进行更多修改。至少从现在开始你会有一些错误需要使用,尽管…我在d3.js中没有太多经验,但我假设你基本上希望将所有值返回到它们的原始状态。这可能意味着将它们重置为零,也可能意味着将它们设置为先前设置的负数。谢谢您的帮助。我找到了一个解决方案:else if(this.checked==false){return node.call(dragno);};var dragno=d3.behavior.drag().origin(Object).on(“drag”,null);
d3.selectAll("input").on("change", change);
function change() {
if (this.value === true ) da();
function da() {
node.call(drag);
}
if (this.checked === true ) da();