在鼠标输入时突出显示自定义节点

时间:2012-07-05 08:48:05

标签: infovis thejit

我正在创建自定义节点,我想在鼠标输入时突出显示。不幸的是,mouseEnter事件并未触发。我也不知道如何在mouseEntermouseLeave之后呈现节点。

1 个答案:

答案 0 :(得分: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); 
      } 
  }
});