高德地图marker事件监听-高德地图marker绑定事件就执行了[解决立即执行]
2017-09-30 16:01
381 查看
官方的demo是这样的:
地址:[]http://lbs.amap.com/api/javascript-api/example/infowindow/add-infowindows-to-multiple-markers]
事实上marker绑定的点击事件在添加marker到地图时就已经执行了,我做了多次尝试更改绑定事件的写法,均以失败告终!于是详细阅读API,原来官方还提供了这样一个方法:
正确的事件绑定应该是这样子的:
然后在本句代码处添加 AMap.event.addListener(marker,’click’,markerClick);
最后在 markerClick 方法中dosomething……
marker事件得到绑定,marker绑定的事件不会立即执行,只有点击后才执行!
地址:[]http://lbs.amap.com/api/javascript-api/example/infowindow/add-infowindows-to-multiple-markers]
<script type="text/javascript"> //初始化地图对象,加载地图 var map = new AMap.Map("container", {resizeEnable: true}); var lnglats = [ [116.368904, 39.923423], [116.382122, 39.921176], [116.387271, 39.922501], [116.398258, 39.914600] ]; var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -30)}); for (var i = 0, marker; i < lnglats.length; i++) { var marker = new AMap.Marker({ position: lnglats[i], map: map }); marker.content = '我是第' + (i + 1) + '个Marker'; marker.on('click', markerClick); marker.emit('click', {target: marker}); } function markerClick(e) { infoWindow.setContent(e.target.content); infoWindow.open(map, e.target.getPosition()); } map.setFitView(); </script>
事实上marker绑定的点击事件在添加marker到地图时就已经执行了,我做了多次尝试更改绑定事件的写法,均以失败告终!于是详细阅读API,原来官方还提供了这样一个方法:
正确的事件绑定应该是这样子的:
重写marker绑定的方式,改用事件监听的方式。代码如下:
首先删除 marker.on(‘click’, markerClick);这句代码;然后在本句代码处添加 AMap.event.addListener(marker,’click’,markerClick);
最后在 markerClick 方法中dosomething……
marker事件得到绑定,marker绑定的事件不会立即执行,只有点击后才执行!
相关文章推荐
- jquery绑定click等事件无效解决方法live替代$().click不执行
- Jquery on("click") 方法绑定事件后执行多次解决办法
- IQueryable<T>绑定到Repeater,执行Repeater_ItemDataBound事件时,遇到的问题及解决办法
- 解决事件多次绑定,执行多次问题
- (转载)js(jquery)的on绑定点击事件执行两次的解决办法
- js立即执行函数应用--事件绑定
- Jquery on方法绑定事件后执行多次的解决方法
- for循环内绑定事件的问题(立即执行与延迟执行)。
- JS动态添加元素及绑定事件造成程序重复执行解决
- bootstrap 事件shown.bs.modal用于监听并执行你自己的代码【写hostmanger关联部门遇到的问题及解决方法】
- 解决jquery中,使用append增加元素时,该元素的绑定监听事件失效的办法
- Jquery前端之 事件绑定(二) 解决事件的删除,事件的无序执行的问题,有个小例子
- js立即执行函数应用--事件绑定
- 解决jquery中,使用append增加元素时,该元素的绑定监听事件失效的办法
- js 绑定事件 处理机制 监听机制
- JavaScript中绑定事件监听函数的通用方法[ addEvent() ]
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- 深入了解javascript事件 -事件绑定(事件处理函数/监听函数)
- NodeJs——(1)封装,调用,执行,访问路径,http,函数编程,等待函数,事件监听
- Vue.js父组件$on无法监听子组件$emit触发事件解决办法