检测舞台上而不是在KineticJS形状的点击(Detecting a Click on Stage

2019-08-04 04:09发布

在KineticJS,你怎么检测Click这里发生点击的对象/形状以外的事件?

我想获得一个Rect其规模改变为2 ,当用户点击它,并返回到一个规模1 ,当用户点击以外的任何地方。

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

管理的检测点击阶段,但点击Rect也触发单击处理! 并以某种方式将.setScale(1)什么都不做,而console.log printes出来的东西。 我怎样才能防止当点击已做出射击单击处理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');
    });
});

Answer 1:

你可以用stage.getContent访问舞台内容包装()。 从那里,你可以添加事件处理程序是这样的:

。stage.getContent()的addEventListener( '点击',...); //常规的JavaScript

要么

$(stage.getContent())在( '点击',...)。 // jQuery的



文章来源: Detecting a Click on Stage but not on Shape in KineticJS