问题缘由请参考如下

mapbox图层的点击事件注册一次之后无法取消的问题

https://blog.csdn.net/weixin_44523653/article/details/103665583

mapbox api中描述

所以listener必须为实名的外部函数,而listener中除了event事件对象,没有可传递参数的位置。如何解决?当map.on和map.off在不同的作用域中时,更加麻烦。

mapbox奇葩的是

on:listener中

_self.popup = new mapboxgl.Popup().setLngLat(_coordinates).setHTML(_showInfo).addTo(_self.map);

off:之后

_self.popup&&_self.popup.remove();

这样一一对应才能够关闭气泡。太狭隘了。。。。。。

整个模块多次进行加载和移除,如果on没有对应的执行off,on里面的listenter函数内容就会被执行多次。

结合以上情况,使用AMD开发时,坑还挺多。解决办法如下

使用临时内部函数处理对象点击,可以调用方法里面的模块局部变量,同时用self提升作用域范围指向外部,供off调用,解决。。。。。。。。。。。。。。。。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

查看popup弹出的内容都在div里面,采用最原始的的办法解决,实现所有popup关闭

$(".mapboxgl-popup").remove();

mapbox js map监听on off 匹配问题相关推荐

  1. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  2. html 监听input输入框的值,利用原生JS实时监听input框输入值

    利用原生JS实时监听input框输入值 原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 ...

  3. Vue.js:监听属性

    ylbtech-Vue.js:监听属性 1.返回顶部 1. Vue.js 监听属性 本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化: 实例 & ...

  4. js实时监听input输入框值的变化以便即使匹配搜索项

    问题说明 在含有搜索框的网页中,经常需要及时匹配搜索项,因此需要监听input输入框的变化事件.如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,除了监听 ...

  5. less.js插件监听

    <script>less.watch();</script> 在不手动刷新/重新加载页面会自动监听less的变化,页面做出相应的变化 . 写在这两行后面就好 了 <lin ...

  6. JS如何监听动画结束

    场景描述 在使用JS控制动画时一般需要在动画结束后执行回调去进行DOM的相关操作,所以需要监听动画结束进行回调.JS提供了以下事件用于监听动画的结束,简单总结学习下. CSS3动画监听事件 trans ...

  7. js如何监听元素事件是否被移除_JavaScript 监听元素是否进入/移出可视区域

    JavaScript 监听元素是否进入/移出可视区域 常规操作 防抖节流 IntersectionObserver 兼容的代码 常规操作 通常的做法是,监听srcoll事件,根据元素的offset来判 ...

  8. js微信监听返回_微信小程序(2)- 框架结构amp;运行环境

    一.小程序框架结构 小程序框架分场景获取.逻辑层和视图层 场景获取:场景值是用来描述用户进入小程序的路径,可以在小程序的生命周期onLaunch 或 onShow 里获取.也可以通过wx.getLau ...

  9. js如何监听元素事件是否被移除_JS移除事件监听的方法 .removeEventListener( )

    JS用addEventListener添加事件监听方法后,可以用removeEventListener来解除监听: element.removeEventListener(event, myFunct ...

最新文章

  1. 漫画:什么是 “建造者模式” ?
  2. c++备考期末必看知识点(一篇就够了)
  3. 浅谈:飞鸽传书 的TCP/IP原理
  4. ICCV 2019 | 基于全局类别表征的小样本学习
  5. 架构解读丨Volcano作业资源预留设计原理
  6. CentOS 7 设置IP地址无效
  7. 红警 1 游戏开源,代码非常规范,网友:秀色可餐
  8. 易语言PHP查询卡号,易语言卡密管理源码,易语言卡号密码管理软件源码
  9. MedicineCare-可行性分析
  10. Dell Precision M4800 AppleALC声卡驱动修复教程
  11. CI框架初识-视图渲染
  12. 账龄分析表excel模板_智能考勤表excel表模板
  13. 怎样利用计算机电源,计算机电源功耗如何计算?如何使用电脑功率计算器?
  14. 天猫小黑盒从发布新品到影响供应链
  15. 呆萌却实际可怕的动物:蛇鹫会踢腿 大熊猫攻击凶猛
  16. Polar码快速入门
  17. torch.utils.data.WeightedRandomSampler样本不均衡情况下带权重随机采样
  18. android+apk+不被杀毒软件,大多数APK应用都会被杀毒软件报毒吗?
  19. vim中指定字符串的替换和删除
  20. 解决微信电脑版备份的问题:当前网络状况复杂,请尝试使用其它网络

热门文章

  1. macos Terminal 显示名太长了,个性化修改
  2. Storm8 游戏盘点
  3. 自动谣言检测综述分享——Automatic Rumor Detection on Microblogs: A Survey
  4. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java网上旅游订票服务系统10r27
  5. 开源建站系统——phpnuke8安装步骤
  6. 普通话水平测试考试命题自拟-(背诵版)
  7. C#桌面办公应用-工资管理系统系列四
  8. 一边学计算机一边上班累的说说,工作累的句子说说心情
  9. 阿里巴巴集团增持丁丁网
  10. 曲折词缀和python的功能区别_派生词缀与屈折词缀的区别