如何为自定义Javascript对象创建Touchstart事件

时间:2016-05-27 10:15:59

标签: javascript jquery ios events javascript-events

在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);
    }
}

0 个答案:

没有答案