在Windows上,mousedown事件运行正常。这段代码完美无缺,它还添加了" mousedown"事件到spape对象。
var shape = new Object();
shape.mousedown(function(){
alert('tracker move 2');
this.paper.editor.action = "move";
});
此外,当我在chrome中检查时,我得到了以下值。
shape.events [0] .name =" mouseDown";
shape.events.length = 1;
但是在iPad上而不是mousedown我需要添加touchStart事件。请指导我如何添加此事件。我尝试了不同的方式,但都说eventLiustner基本上用于DOM对象。帮助我实现类似的检查值。 注意:我正在使用ipad中的safari浏览器。
这是我的示例代码。
VectorEditor.prototype.showTracker = function(shape){
var rot_offset = -14;
var box = shape.getBBox();
var tracker = this.draw.set();
tracker.shape = shape;
//define the origin to transform to
tracker.lastx = 0 //if zero then easier
tracker.lasty = 0 //if zero then easier
if (mobilesafari) {
var shapeTemp = this.markTracker(this.draw.ellipse(box.width/2, box.height/2, 7, 7).attr({
"stroke": "gray",
"stroke-opacity": 0.5,
"fill": "gray",
"fill-opacity": 0.15
}));
shapeTemp.addEventListener("touchstart", bind(function(event){
event.preventDefault();
alert('tracker move 2');
this.paper.editor.action = "move";
}, this) ,false);
alert(shapeTemp.events[0].name + " shapeTemp " + shapeTemp.events.length);
tracker.push(shapeTemp);
} else {
var shapeTemp = new Object();
shapeTemp.mousedown(function(){
alert('tracker move 2');
this.paper.editor.action = "move";
});
tracker.push(shapeTemp);
}
}