Я разработал веб-приложение Javascript, используя dojo
и API Javascript ESRI. Главная страница приложения - это вид карты, где пользователь может добавлять точки на карте.Сенсорный экран Коснитесь стрелок onClick Event дважды
На моем рабочем столе веб-браузер, когда я нажимаю на карту, добавляется одна новая точка, и если я отлаживаю, я вижу, что мой обработчик onClick
вызывается только один раз.
На моем iPad, когда я нажимаю карту, 2 точки добавляются в том же месте. Когда я отлаживаю приложение на iPad через Safari на своем Macbook Pro, я вижу, что обработчик onClick
вызывается дважды. После дальнейшей отладки я убедился, что код, который создает мой обработчик onClick
, вызывается только один раз.
startEditing : function(template) {
main.selectHandle.pause();
main.moveHandle.pause();
var drawingTool = template.template.drawingTool;
switch(drawingTool) {
case FeatureTemplate.TOOL_POINT:
drawingTool = Draw.POINT;
break;
}
this.drawEndHandle = on(this.drawingToolbar, "draw-end", lang.hitch(this, this.createFeature, template));
this.drawingToolbar.activate(drawingTool);
},
stopEditing : function() {
this.drawingToolbar.deactivate();
this.drawEndHandle.remove();
main.selectHandle.resume();
main.moveHandle.resume();
},
createFeature : function(template, evt) {
var featureLayer = template.featureLayer;
template = template.template;
var prototype = template.prototype;
var geometry = evt.geometry;
var graphic = new Graphic(prototype.toJson());
graphic.setGeometry(geometry);
this.initAttributes(graphic, featureLayer).then(function() {
var features = [graphic];
featureLayer.applyEdits(features).then(function(addResults) {
var objectIds = array.map(addResults, function(addResult) {
return addResult.objectId;
});
var q = new Query();
q.objectIds = objectIds;
featureLayer.selectFeatures(q).then(function(features) {
main.openForm(features);
});
});
});
},
drawingToolbar
в функции startEditing
выше представленной API ESRI Javascript, но обрабатывает onClick
события внутри и передает его на onDrawEnd
случае, я обработку в моем коде. У меня есть другой код, который обрабатывает событие onClick
напрямую, и он также срабатывает дважды.
UPDATE
Я просто проверял ту же функциональность на моем Android смартфоне, и также обжиг onClick
событие дважды с одним нажатием.
У меня точно такой же вопрос, используя ESRI JavaScript API. –