如何在Sencha Touch的Google Map上添加svg上的触摸和保持事件

时间:2014-06-09 03:38:10

标签: javascript extjs svg sencha-touch sencha-touch-2

我在Sencha Touch应用程序中有一个谷歌地图,我在它上面绘制了许多svg元素。

现在我想在每个svg元素上添加触摸并保持(意味着它将在用户触摸并在svg元素上保持超过1.5秒的图形时触发)并且当偶数被触发时,我&# 39; d喜欢弹出与点击的svg元素相关联的信息对话框。

我试过:Ext.util.TaPrepeater(没有工作)

  var startTime
      Ext.create('Ext.util.TapRepeater', {
            el: drawnElements[uniqueTrackID],
            listeners: {
                touchstart: function () {
                    startTime = new Date();
                },
                touchend: function () {
                    var now = new Date();
                    if (now - startTime >= 1500)
                    {
                        Ext.Msg.alert("haha");
                    }
                }
            }
        });

还尝试直接在svg上添加事件(也没有工作)

  drawnElements[uniqueTrackID].on('touchstart', function () {
        startTime = new Date();
    });

    drawnElements[uniqueTrackID].on('touchend', function () {
        var rightNow = new Date();
        if (rightNow - startTime >= 1500) {
            Ext.Msg.alert("haha");
        }

    });

发现相关帖子非常有限。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

touchstart和touchend事件有争议。其中一个是触摸细节(参数[0])。你可以使用这样的东西:

touchstart: function (details) {
                    userTime = details.touch.timeStamp;
                }