Javascript 将节点名称置于arborjs的边缘鼠标上方

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

我正在考虑为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 (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);
});