js 移动端高版本安卓click事件失效

点击地图获取当前点的经纬度。
同样的代码,在Chrome和Android5.1以下都能够运行,但是到了7.0(5.1-7.0之间的没有测试过) 地图上click事件就不会被触发了,但是除了需要点击地图的click都是可用的。
为什么,是因为版本号的原因么,改成touchend也不好用,怎么办?

map.addEventListener("click", showQj,false);
function showQj(e){
                locLng=e.point.lng;
                locLat=e.point.lat;
            }
阅读 5k
2 个回答

因为引用了百度地图,所以在一些安卓设备上会出现如下错误:

api:1 A Parser-blocking, cross-origin script, http://api.map.baidu.com/getscript?v=1.3&......, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.

因为在页面上使用document.write()来动态插入外部的脚本,使其不能正常运行。
解决方法:
(测试可用)

<script type="text/javascript" src="http://api.map.baidu.com/**api**?v=2.0&ak=秘钥"></script>
//改为
<script type="text/javascript" src="http://api.map.baidu.com/**getscript**?v=2.0&ak=秘钥"></script>

使用touch事件,比如:
touchstart
touchend
touchmove

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题