1
我試圖創建一個可視化使用d3.js在android(使用apache cordova),我在手機上顯示一些元素(例如圈子)的屏幕,並有可能在元素之間創建鏈接(例如行)。d3.js觸摸並保持創建從一個元素到另一個線
如何它應該工作:
- 觸摸和
- 拖動按住開始元素上發佈
一個新的鏈接現在應該在2之間形成
這是顯示我面臨的問題的最小示例。
var width = 350,
height = 600,
colors = d3.scale.category10();
var nodeData =
[
{ id: 1, x: 50, y: 50 },
{ id: 2, x: 200, y: 50 },
{ id: 3, x: 125, y: 150 }
];
var svg = d3.select('body')
.append('svg')
.attr('width', width)
.attr('height', height);
var node = svg.selectAll('g')
.data(nodeData)
.enter()
.append('g');
node.append('circle')
.attr('cx', function (d) { return d.x; })
.attr('cy', function (d) { return d.y; })
.attr('r', 30)
.attr('fill', 'red')
.on('touchstart', function (node) {
})
.on('touchend', function (node) {
});
node.append('text')
.attr('fill', 'white')
.attr('x', function (d) { return d.x; })
.attr('y', function (d) { return d.y; })
.text(function (d) { return d.id; });
<script src="https://d3js.org/d3.v3.min.js"></script>
在這個例子中touchend事件總是相同的元件上執行如touchstart,我無法找到一種方法,以獲得在頂部的元件,其在觸摸的操作已結束。
我剛開始使用d3.js,所以任何幫助表示讚賞。
乾杯