是否有可能获得当前对象?
for(var n = 0; n < 10; n++) {
var circle = new Kinetic.Circle({
x: Math.random() * stage.getWidth(),
y: Math.random() * stage.getHeight(),
radius: Math.random() * 50 + 25,
fill: 'red',
stroke: 'black',
strokeWidth: 3,
draggable: true,
id: 'img'+n
});
var transformer = Hammer(circle); //kineticjs stage
transformer.on('doubletap', function (e) {
alert(e); // get the current object
});
layer.add(circle);
}
e不是当前元素,而是触摸事件。如果我试试 e.target - 未定义元素 和 e.gesture.target是画布元素......
但我想得到触动的元素..
答案 0 :(得分:0)
您可以使用javascript closure:
for(var n = 0; n < 10; n++) {
(function(){
var circle = new Kinetic.Circle(conf);
var transformer = Hammer(circle); //kineticjs stage
transformer.on('doubletap', function (e) {
alert(e); // get the current object
});
layer.add(circle);
})();
}
或者等待新版本,然后您就可以使用targetNode
属性:
transformer.on('doubletap', function (e) {
console.log(e.targetNode);
});