【发布时间】:2017-09-15 10:02:27
【问题描述】:
我在 Cordova APP 中使用 Leaflet。
我用:
- 传单1.0.3+ed36a04
- Leaflet.GoogleMutant.js
- 科尔多瓦
- jQuery
- Jquerymobile
我使用以下代码创建了一个弹出窗口:
function onMapClick(e) {
getaddressFromLatLon(e.latlng.lat,e.latlng.lng, function(){
map.setView(new L.LatLng(e.latlng.lat,e.latlng.lng), defaultv.selectZoom);
popup
.setLatLng(e.latlng)
.setContent("New My name:"+' '+
'<a href="index.html" id="clickName"><span id="popupSpan">' + $('#My_Name').val() + '</span></a><br/> <input id="popupInput" type="text" value="'+$('#My_Name').val()+'"/></br><input class="btn_addMy" type="button" id="submitMy" value="All"/>' +
'<input class="btn_addMy" type="button" id="submitMySup" value="Only"/>' +
''
)
.openOn(map);
$("#popupInput").keyup(function (e) {
$('#My_Name').val(this.value);
});
$(".btn_addMy, #clickName").on( "click",function (e) {
e.stopImmediatePropagation();
e.preventDefault();
map.closePopup();
insertMyToDB(e.target.id);
});
}
);
}
map.on('contextmenu', onMapClick);
我无法单击文本输入或按钮或超链接...
此问题仅在 iOS 上发生(模拟器和真实设备) Ripple 和 Android 运行良好...
请注意:按钮似乎根本没有被点击(似乎没有被点击,但没有任何反应)
有什么建议吗?
谢谢
更新
我将案例减少到最低限度,我可以确认它已链接到 leaflet.GoogleMutant 和 iOS。
Safari 将以下代码从 googlemutant (https://ivansanchez.gitlab.io/Leaflet.GridLayer.GoogleMutant/demo.html) 添加到演示时也会出现同样的问题:
function onMapClick(e) {
map.setView(new L.LatLng(e.latlng.lat,e.latlng.lng), 12);
var popup = L.popup()
.setLatLng(e.latlng)
.setContent('<input class="btn_addMy" type="button" id="submitMy" value="All" onclick="alert(\'clicked\')"/>')
.openOn(map);}
map.on('contextmenu', onMapClick);
注意:Safari 桌面不会出现问题,但 Safari 移动版会出现问题
【问题讨论】:
-
更新:我将案例减少到最低限度,我发现它明确链接到leaflet.GoogleMutant...
标签: jquery ios cordova leaflet