Выделите пользовательский узел при вводе мышью
Я создаю пользовательский узел, и я хотел бы выделить при вводе мыши. К сожалению mouseEnter
событие не срабатывает. Я также не знаю, как визуализировать узел после mouseEnter
а также mouseLeave
,
1 ответ
Вы написали функцию "содержит" вместе с функцией "рендеринга" в своем определении типа пользовательского узла? Если у вас его нет, события вроде mouseEnter/onRightClick не сработают.
Вот код, содержащий метод для пользовательского типа узла.
$jit.ForceDirected.Plot.NodeTypes.implement({
'icon1': {
'render': function(node, canvas){
var ctx = canvas.getCtx();
var img = new Image();
img.src='magnify.png';
var pos = node.pos.getc(true);
img.onload = function() {
ctx.drawImage(img, pos.x, pos.y);
};
},
'contains': function(node,pos){
var npos = node.pos.getc(true);
dim = node.getData('dim');
return this.nodeHelper.circle.contains(npos, pos, dim);
//return this.nodeHelper.square.contains(npos, pos, dim);
}
}
});