首页 > 代码库 > D3 drag行为
D3 drag行为
d3.behavior.drag():创建一个新的拖动行为。
drag.on(type[,listener]):
type:开始,拖动,结束。
如果没有listener,则为type指定已注册的listener。但我测试时,如果不加listener时会出错。
drag会返回x,y,可根据origin来修改,在局部坐标系统(svg)。dx,dy是相对于开始坐标的。
拖动期间,浏览器的默认行为会被阻止,比如点击事件。也可以阻止冒泡。
drag.origin([origin]):决定拖动开始的位置。
不设置的话会出错?不会,不设置就是不使用这个方法,而不是.origin()。
如果为空,则元素拖动开始的位置为鼠标的位置;如果设置了,就正常了。
当绑定在元素上的数据时用x,y的object来表示的话,源存取器经常用function(d){return d;},但是没提能改成什么样的?
20140430
svg:svg:sof上的解释是,前者是namespace,后者是tag,D3只支持几种命名空间。不是selection的意思。
用namespace可以区分其他基于xml的语言;xhtml,svg会有相同的标签名,用namespace来区分。
drag:两个比较好的例子:http://bl.ocks.org/mbostock/1557377;https://gist.github.com/enjalot/1378144;
问题:同样是移动,为什么listener不一样呢?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。