为什么d3.ehavior.drag()中没有定义“d”
Why isnt `d` defined in d3.behavior.drag()
我正在尝试制作一个可拖动的圆。
var drag = d3.behavior.drag();
drag.on("drag", function(d,i) {
console.log(d);
d.x += d3.event.dx;
d.y += d3.event.dy;
//This will change the center coordinates by the delta
d3.select(this).attr("x", d.x).attr("y", d.y);
//This should change the upper left x and y values by the delta
d3.select(this).attr("transform", function(d,i){
return "translate(" + [ x,y ] + ")"
})
})
这是小提琴
它在右红圈上的每一个移动都会抛出错误,但为什么它说d
在第3、4和5行中是未定义的呢?
工作小提琴:http://jsfiddle.net/6a6da/33/
d,i
参数通常引用绑定的数据,但您不绑定任何数据。在您的情况下,只处理事件就足够了。
drag.on("drag", function() {
d3.select(this).attr("cx", +d3.select(this).attr("cx") + d3.event.dx);
d3.select(this).attr("cy", +d3.select(this).attr("cy") + d3.event.dy);
})l
更新:http://jsfiddle.net/6a6da/32/
将CCD_ 3定义为CCD_。
不过,稍后,x和y在这里是未定义的:return "translate(" + [ x,y ] + ")"
。我不确定你想在那里做什么。
相关文章:
- 用嵌套函数和默认函数定义函数
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 控制台返回var不是't定义,但它是
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- jQuery自定义验证比较多个输入的序列
- 查看JS对象的所有键,甚至是getter定义的键
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- $window.ga在AngularJS事件中未定义
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 未捕获的TypeError无法读取未定义的属性socialsharing
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 定义完全独立的样式信息
- 如何在选项卡上定义属性'的主窗口对象
- 为什么d3.ehavior.drag()中没有定义“d”