我正在使用d3js来处理svg动画。我想将svg文件导入到我的svg画布中。导入的文件可能包含侦听器-d3.behavior.drag-用于拖动,我想注册新的拖动侦听器。问题是,当我导入文件时,我的监听器被删除,只剩下文件中的一个。我尝试使用名称空间,但它不起作用。也许我误解了应该怎么做。 请帮忙!!
修改
我在要导入的文件中:
var dragListener = d3.behavior.drag()
.on("drag.act", function(d,i) {
console.log("dargging " + i);
})
.on("dragstart.act", function(d,i) {
console.log("drag start " + i);
})
.on("dragend.act", function(d,i) {
console.log("drag end " + i);
// some code ....
});
d3.selectAll(".draggable").call(dragListener);
在svg画布中我有
var dragevt = d3.behavior.drag()
.on("drag.svg", function(d,i) {
console.log("parent dragging");
})
.on("dragstart.svg", function(d,i) {
console.log("parent drag start");
})
.on("dragend.svg", function(d,i) {
console.log("parent drag end");
});
svgParent.call(dragevt);
类“draggable”的元素不输出“parent drag ...”