0

ユーザーがダイアグラム ビルダーのノードをクリックしたときに、別の方法でイベントに反応したいと考えています。

カスタム ノードの作成方法は知っていますが (ここでスタックオーバーフローに関する議論を見つけました)、ユーザーがノードをクリックしたときに呼び出されるコードを上書きする方法がわかりません。

「カスタムノード」の例を拡張して試しました:

 Y.DiagramNodeCustom = Y.Component.create({
    NAME: 'diagram-node',

    ATTRS: {
        type: {
            value: 'custom'
        },
    },
    on: {
  render: function(event) {                        alert('render node');                      
     },
      click: function(event) {                        alert('click node');                    
     },
      select: function(event) {                        alert('select node');                      
     }

    },

    EXTENDS: Y.DiagramNodeTask
});

...しかし運がない

クリックイベントリスナーを置き換える方法を誰が教えてくれますか?

4

1 に答える 1

1

ライブラリの関数を変更できます

_onNodeClick: function(event) {
    var instance = this;
    //get the object
    var diagramNode = A.Widget.getByNode(event.currentTarget);
    //mark as selected
    instance.select(diagramNode);
    //open edit pannel
    instance._onNodeEdit(event);

    event.stopPropagation();
},
于 2014-01-03T14:20:56.480 に答える