kinetic.js:阶段未获得“点击”事件

时间:2014-08-02 22:20:18

标签: kineticjs

我在应用程序的舞台上放了一个事件处理程序,如下所示:

stage.on( 'click', onStageClick );

但是,我的事件处理程序没有被调用。当我在舞台创建的画布上放置一个click事件处理程序时,如下所示:

$( stage.children[ 0 ].canvas._canvas ).on( 'click', onCanvasClick );

被调用。

stagecanvas之间是否存在可能正在进行点击事件的内容?或者......我做错了什么?

奇怪的附录:如果我将image对象添加到画布中的layer ...那么我开始获取我的click事件stage

任何想法发生了什么?

2 个答案:

答案 0 :(得分:1)

倾听contentClick而不是click事件:

stage.on('contentClick',function(){
    var pos=stage.getPointerPosition();
    var mouseX=parseInt(pos.x);
    var mouseY=parseInt(pos.y);
});

答案 1 :(得分:1)

尝试contentClick作为您的活动。

来自KineticJS documentation

  

Kinetic Stage支持contentMouseover,contentMousemove,   contentMouseout,contentMousedown,contentMouseup,contentClick,   contentDblclick,contentTouchstart,contentTouchmove,contentTouchend,   contentTap和contentDblTap。

这是演示文稿的小提琴:http://jsfiddle.net/klenwell/L5MLq/