龙猫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条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题