我在 Sencha Touch应用程序中有一个GoogleMap,我在上面绘制了许多SVG元素。
现在,我想在每个SVG元素上添加触摸并按住(意味着当用户触摸并按住SVG元素上的图形超过1.5秒时,将触发此操作),当事件被触发时,我想弹出一个与所单击的SVG元素关联的信息对话框。
我试过:外部实用程序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条答案
按热度按时间gev0vcfq1#
touchstart和touchend事件都有参数。其中一个参数是touch details(arguments[0])。您可以使用类似以下的内容: