我嘗試使用d3.js
select()
在我使用拖動事件時在Html屬性中獲取id。 但不知道爲什麼,我在控制檯中看到null
但其他類似的代碼是工作d3.select(this).attr()get Undefind
這裏是我的代碼: 1.HTML
<g transform="translate(765,407)" fill="black"><circle r="15" class="sNodes" id="node_id31" onclick="NodesDown(31)" style="stroke: rgb(41, 194, 244); stroke-width: 5px;"></circle><text dx="-20" dy="50" id="node_id31">1255</text></g>
2.JS
var drag = d3.behavior.drag()
.on('dragstart', function (d) {
d3.select(this).attr('fill', 'black');
})
.on('drag', function (d) {
d3.select(this).attr("transform", "translate(" + d3.event.x + "," + d3.event.y + ")");
})
.on('dragend', function (d) {
var id = d3.select(id).attr("id"); //this not work
var trans = d3.select(this).attr("transform"); //this work
});
更新: 仍然無法使用。
改變:
.on('dragend', function (d) {
var id = d3.select(id).attr("id"); //this not work
var trans = d3.select(this).attr("transform"); //this work
});
到:
.on('dragend', function (d) {
var id = d3.select(this).attr("id"); //this not work
var trans = d3.select(this).attr("transform"); //this work
});
您正在創建一個名爲'id'的變量。所以當你調用'd3.select(id)''id'的值是未定義的...變量'id'的期望值是多少? –
仍然不起作用 –