在Kineticjs Canvas中使用Hammerjs事件

时间:2013-11-11 18:06:44

标签: javascript html5 canvas kineticjs hammer.js

我正在尝试在Kinetic.js画布中使用Hammer.js事件,似乎无法使其正常工作。我尝试了以下两种方法:

var background = new Kinetic.Rect({
        x: 0,
        y: 0,
        width: image.getWidth(),
        height: image.getHeight(),
        id: "background",
        fill: 'rgba(159, 255, 200, 0.0)',
    });
    pointLayer.add(background);
    pointLayer.draw();

background.hammer().on('tap', function (e) {
        console.log("Background tapped");
});

OR

Hammer(background).on('tap', function (e) {
        console.log("Background tapped");
});

使用第一种方法时,我收到错误“没有方法'锤子'”。另一个我得不到消息。是否可以在Kinetic.js画布中使用Hammer.js?

1 个答案:

答案 0 :(得分:2)

它是posibble。但你不能用锤子听kineticjs对象。 你可以听文件元素。例如,图层或整个舞台元素的画布。

var transformer = Hammer(stage.getContainer())  //kineticjs stage
transformer.on("transformstart", function(){
   // your code
});

<强>更新

目前,您可以使用KineticJS节点和HammerJS事件。 (小贴片需要) 首先看一下这里列出的演示:https://github.com/lavrton/KineticJS-HammerJS-test