js,为什么我在移除对象数组中的每一个对象的click事件时,只有最后一个对象移除成功?下有详细

https://img2.mukewang.com/5b6010750001cf6a03620030.jpg首先我创建一个数组
https://img2.mukewang.com/5b6010bc0001a7a206130085.jpg然后写一个函数
https://img.mukewang.com/5b6010cb0001f68c03960042.jpghttps://img1.mukewang.com/5b6010d10001830b05570038.jpghttps://img.mukewang.com/5b6010d900016aa803040029.jpg然后在一个方法里面创建一个名为marker的对象,为这个对象附上click事件,然后添加到数组中去。
https://img3.mukewang.com/5b6010e400013a4a06390070.jpg之后再在另外一个方法遍历整个数组,把里面每一个对象的click事件都清除掉
https://img2.mukewang.com/5b6010ed0001e09205260361.jpg

https://img3.mukewang.com/5b6010f60001742505170378.jpg我调用两次方法也就是创建了两个marker对象,然后对他们进行移除,第一个对象的click里面还是有内容的,它也确实能响应这个事件,而第二个的click没有内容了。为什么会这样呢?我错在哪里?
希望大家不吝赐教!


心有法竹
浏览 866回答 1
1回答

胡说叔叔

这个应该是属于事件冒泡,你这个处理事件传递给另一个方法去处理,所以导致你这个方法一直往上走,所以传递到最后一个去执行。但是你如果绑定这个点击事件回调函数没有使用闭包的话,那这里就直接绑定到最后一个,其他的无法绑定希望能够帮助到你
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript