0

我正在尝试在 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");
});

或者

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

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

4

1 回答 1

2

这是可能的。但是你不能用锤子听 kineticjs 对象。您可以收听文档元素。例如图层或整个舞台元素的画布。

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

更新:

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

于 2013-11-12T01:34:15.240 回答