龙猫12138 2018-04-19 15:40 采纳率: 0%
浏览 1237
已采纳

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

图片说明
首先我创建一个数组
图片说明
然后写一个函数
图片说明
图片说明
图片说明
然后在一个方法里面创建一个名为marker的对象,为这个对象附上click事件,然后添加到数组中去。
图片说明
之后再在另外一个方法遍历整个数组,把里面每一个对象的click事件都清除掉
图片说明

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

  • 写回答

5条回答 默认 最新

  • mango_love 2018-04-19 16:32
    关注

    这个应该是属于事件冒泡,你这个处理事件传递给另一个方法去处理,所以导致你这个方法一直往上走,所以传递到最后一个去执行。
    但是你如果绑定这个点击事件回调函数没有使用闭包的话,那这里就直接绑定到最后一个,其他的无法绑定
    希望能够帮助到你

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?