0

ユーザーがノード内のテキストをクリックして、ダイアログを表示したり、他のウィンドウを開くなどのアクションを実行できるようにしたいと考えています。これは可能ですか?

ドキュメントには次のようなものがあります:

text-events : ラベルがイベントを受け取った場合に要素でイベントが発生するかどうか。はいまたはいいえかもしれません。:active のテキストにスタイルを適用して、テキストがアクティブ化可能であることを確認したい場合があります。

のようですが、ラベルレベルでの使用方法の例はありません..

編集: 図の例

コード内でどのように考えられるか:

  label_element.on('tap', function(event){
     // cyTarget holds a reference to the label
     var evtTarget = event.cyTarget;
     //...
  });

また

  cy.on('tap', function(event){
     var evtTarget = event.cyTarget;
     //evtTarget holds element but I can somehow get the text which got tap event??
  });
4

2 に答える 2

0

Cytoscape.js のドキュメントによると、次を使用してこれを行うことができます。

cy.on('タップ')

、次のように: 例

指定されたノード セレクターに一致する要素からバブルアップするイベントにバインドします。

    cy.on('tap', 'node', { foo: 'bar' }, function(evt){
      console.log( evt.data.foo ); // 'bar'

      var node = evt.cyTarget;
      console.log( 'tapped ' + node.id() );
    });

コアが受け取るすべてのタップ イベントにバインドします。

    cy.on('tap', function(event){
      // cyTarget holds a reference to the originator
      // of the event (core or element)
      var evtTarget = event.cyTarget;

      if( evtTarget === cy ){
          console.log('tap on background');
      } else {
        console.log('tap on some element');
      }
    });

http://js.cytoscape.org/#cy.on

于 2016-01-25T16:19:24.010 に答える