Javascript 将节点名称置于arborjs的边缘鼠标上方
我正在考虑为arbor.js数据图表在边缘上进行鼠标悬停检测。我可以使用canvas getImageData技术检测边缘上的鼠标Javascript 将节点名称置于arborjs的边缘鼠标上方,javascript,jquery,html,html5-canvas,arbor.js,Javascript,Jquery,Html,Html5 Canvas,Arbor.js,我正在考虑为arbor.js数据图表在边缘上进行鼠标悬停检测。我可以使用canvas getImageData技术检测边缘上的鼠标 function detectLine(x, y,content) { var imageData = ctx.getImageData(0, 0, w, h), inputData = imageData.data, pData = (~~x + (~~y * w)) * 4; if (inputDa
function detectLine(x, y,content) {
var imageData = ctx.getImageData(0, 0, w, h),
inputData = imageData.data,
pData = (~~x + (~~y * w)) * 4;
if (inputData[pData]===16 && edg._id) {
var z=sys.getEdges(ion,lbl);
console.log(z)
$('<div id="tooltip">' + content + '</div>').css( {
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 5,
border: '1px solid #fdd',
padding: '2px',
'background-color': '#fee',
opacity: 0.80
}).appendTo("body").fadeIn(200);
return true;
}
else{
$("#tooltip").remove();
return false;
}
}
这肯定会检测鼠标上方的边,但我无法在工具提示上获取每条边的id或名称。这是通过检测边缘的颜色像素来实现的,我对所有边缘都保持了相同的颜色像素。是否知道在检测到鼠标悬停时如何调用特定的边缘名称或id。您能提供一个fiddle吗?@SebastianG.Marinescu这是一个fiddle链接,由于web工作人员的安全错误,该链接已断开。但是如果你能看穿整个代码或者在你的系统中复制一份来运行它,那就太好了。
canvas.addEventListener("mousemove", function(e){
var x = parseInt(e.offsetX);
var y = parseInt(e.offsetY);
detectLine(x,y,nd._id);
// console.log(edg.target.data.label);
});