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

时间:2012-12-16 15:26:48

标签: javascript jquery html5 canvas kineticjs

在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');
    });
});

1 个答案:

答案 0 :(得分:5)

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

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

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