博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
那些年遇到的bug 之一 : 多次绑定事件
阅读量:6095 次
发布时间:2019-06-20

本文共 607 字,大约阅读时间需要 2 分钟。

由于各种原因老大们决定使用sea.js模块化开发,所以需要把各功能重新梳理。保险起见一致决定先从首页着手处理,完成后再跟进其它的页面开发。

公司是做在线视频的,其中照片墙是首页其中一个版块,产品需求是:

  1.定时更新数据,并且支持点击刷新数据

  2.鼠标移到主播小图上,显示主播大图,并且显示当前主播的详细信息。
  3.大图跟随鼠标移动。鼠标离开,大图消失。

 

费了一番功夫把功能都写好了,各浏览器测试了下并且能跑起来,效果如下:

 

没发现有什么问题,可是,生活总是无处不惊喜的 ( >﹏<。)。没多久却惊讶地发现:大图跟随鼠标移动卡成马了!!

又重新把代码审视了一遍,确认没问题后重新测试。

在chrome下盯着控制台,确认请求数据没问题。然后再查看HTML渲染结果,没问题。动画执行函数也没问题。然后切换IE看,发现在IE这个功能的其它动画执行得很好,但鼠标跟随依然卡成马(没错,IE总是能提前发现问题),思前想后还是先把pageX打印出来:

打印出来一看:每一次移动鼠标pageX按倍数打印。检查代码,原来每一次更新数据就绑定一次mouseover,造成了多次绑定。

解决方案是把最新的数据放到一个自定义属性里面去,然后把mouseover函数提取出来。修改好后再次测试,一切正常 O(∩_∩)O~~ 。

 

转载于:https://www.cnblogs.com/Travel/p/4365932.html

你可能感兴趣的文章
emoji等表情符号存mysql的方法
查看>>
Excel到R中的日期转换
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>