4

KineticJS ではClick、クリックがオブジェクト/シェイプの外側で発生したイベントをどのように検出しますか?

Rectユーザーがクリックしたときにスケールを変更し、ユーザーがその外側をクリックしたときの2スケールに戻そうとしています。1

JSfiddle: http://jsfiddle.net/ABTAD/8/

ステージ上のクリックを検出することができましたが、クリックするとRectクリック ハンドラーも起動します!!! そして、どういう.setScale(1)わけか何もしませんが、console.log何かを出力します。Rect空のステージではなく でクリックが行われたときに、クリック ハンドラーが起動しないようにするにはどうすればよいですか?

ステージ上のクリックを検出するJSコード

window.stage.getContainer().addEventListener('click', function(e) {
    $.each(window.layer.get('.box'), function(index, box) {
       box.setScale(1);
       console.log('clicked on stage');
    });
});
4

1 に答える 1

5

stage.getContent() でステージ コンテンツ ラッパーにアクセスできます。そこから、次のようなイベント ハンドラーを追加できます。

stage.getContent().addEventListener('クリック', ...); // 通常の JavaScript

また

$(stage.getContent()).on('クリック', ...); // jquery

于 2012-12-19T15:45:22.660 に答える