IE和Chrome执行javascript对鼠标双击事件的不同响应
2个回答
展开全部
(1)基于按钮的鼠标点击事件开启多边形标绘工具;
1 //开启/关闭违法标绘工具
2 function onClickPolyTool() {
3 var btn = document.getElementById("polyToolBtn");
4 if (btn.value == "开启违法标绘") {
5 btn.value = "关闭违法标绘";
6 polygonTool.open();
7 addMapClick();
8 } else {
9 btn.value = "开启违法标绘";
10 polygonTool.close();
11 removeMapClick();
12
13 }
14 }
(2)开启多边形标绘工具后,每次在地图上的单击均视为绘制多边形的一个点,该点位转换成经纬度坐标并被记录:
1 function addMapClick() {
2 //移除地图的点击事件
3 removeMapClick();
4 map.clearOverLays();
5 points = [];
6 //注册地图的点击事件
7 mapclick = TEvent.addListener(map, "click", function (p, btn) {
8 //将像素坐标转换成经纬度坐标
9 if (btn == 1) {
10 var lnglat = map.fromContainerPixelToLngLat(p);
11 //alert(lnglat.getLng() + "," + lnglat.getLat());
12 points.push(lnglat);
13 }
14 });15 }
(3)双击鼠标,关闭TPolygonTool并结束标绘工作;
上述思路在Chrome浏览器下工作正常,且双击鼠标时鼠标所在的点也被记录并作为多边形最后一个点被记录。然而,在IE浏览器环境下,上述思路不能正常工作,表现为总是遗漏最后一个双击点
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询