在KineticJS中检测点击阶段而不是形状

在KineticJS中,如何检测Click事件,其中单击发生在对象/形状之外?

我试图让一个Rect在用户点击它时将其比例改为2当用户点击它之外的任何地方时返回到1的比例。

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

管理以检测舞台上的点击,但点击Rect也会触发点击处理程序!!! 不知怎的, .setScale(1)没有做任何事情,而console.log打印出来的东西。 当在Rect而不是空阶段上进行单击时,如何防止单击处理程序触发?

JS Code检测点击阶段

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

您可以使用stage.getContent()访问舞台内容包装器。 从那里,您可以添加如下事件处理程序:

stage.getContent()。addEventListener(’click’,…); //常规javascript

要么

$(stage.getContent())。on(’click’,…); // jquery