gpt4 book ai didi

javascript - Arbor js - 将鼠标移到节点上时将节点 ID 显示为文本

转载 作者:行者123 更新时间:2023-11-30 05:42:49 24 4
gpt4 key购买 nike

我对 Javascript 和 Arbor 很陌生,在绘制完整的节点图时遇到了一些困难。我想从展示我的代码开始我的问题:

 var handler = {
clicked:function(e){
var pos = $(canvas).offset();
_mouseP = arbor.Point(e.pageX-pos.left, e.pageY-pos.top)
selected = nearest = dragged = particleSystem.nearest(_mouseP);
if (dragged.node !== null) dragged.node.fixed = true
$(canvas).bind('mousemove', handler.dragged)
$(window).bind('mouseup', handler.dropped)
$(canvas).bind('mouseup', handler.newFunction)
},
newFunction:function(e){
if (dragged===null || dragged.node===undefined) return
if (dragged.node !== null){
dragged.node.fixed = false
var id=dragged.node.name;
//alert('Node selected: ' + id);
}
return false
},
}

我在 Canvas 上创建了一个节点。我的问题是:如何在将鼠标移到节点上时立即显示节点 ID 或任何信息作为文本?我只想在将鼠标移到该节点上时显示文本。非常感谢您的帮助。

最佳答案

也许你可以添加一个 mousemove 监听器,然后你可以在你的回调函数中测试鼠标是否在一个节点上。

    moved:function(e){
var pos = $(canvas).offset();
_mouseP = arbor.Point(e.pageX-pos.left, e.pageY-pos.top)
nearestNode = particleSystem.nearest(_mouseP);

if (!nearestNode.node) return false

boxTuple = nodeBoxes[nearestNode.node.name];

//judge whether mouse is on the node or not
if(isInRectangle(boxTuple,_mouseP))
{
var id = nearestNode.node.name;
alert("Node selected:" + id);
}
return false
},

//add a mousemove listener
$(canvas).mousemove(handler.moved);

希望对您有所帮助!

关于javascript - Arbor js - 将鼠标移到节点上时将节点 ID 显示为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19791586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com