我正在尝试在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?
答案 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