0

カスタムノードを作成しています。マウス入力で強調表示したいと思います。残念ながら、mouseEnterイベントは発生しません。mouseEnterまた、との後にノードをレンダリングする方法もわかりませんmouseLeave

4

1 に答える 1

1

カスタム ノード タイプ定義で、「render」関数とともに「contains」関数を記述しましたか? そうしないと、mouseEnter/onRightClick などのイベントは発生しません。

カスタム ノード タイプの contains メソッドを含むコードを次に示します。

$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); 
      } 
  }
});
于 2013-03-30T10:41:35.757 に答える