尝试利用捕获来做上报
In 未分类 on 2015年05月08日 by view: 557
0

标准浏览器的事件模型是先捕获再冒泡,由于考虑到兼容问题,事件绑定一般都是基于冒泡来做的,那么什么情况下可以考虑利用捕获来做事件绑定呢?

最近在做的课程查找页上报需求的时候,有两个问题要解决:

  1. 清理之前做的上报
  2. 重新添加新的上报

如果在原来的基础上直接改当然可以,但是将上报和业务代码耦合显然不是理想的解决方案,由于内嵌的 webview 是 chromium, 不用考虑兼容问题,于是尝试利用捕获来处理。

  1. 大多数的上报都是点击上报
  2. 捕获先于冒泡,不用考虑 stopPropagation 的影响

所以可以在最外层,基于捕获来绑定事件:

以上,所有要上报的点都可以在 switch 里完成,同时可以避免和业务逻辑的耦合。

此外,对于页面资源的加载监控等也可以使用捕获来做。

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2015/05/%e5%b0%9d%e8%af%95%e5%88%a9%e7%94%a8%e6%8d%95%e8%8e%b7%e6%9d%a5%e5%81%9a%e4%b8%8a%e6%8a%a5/

发表评论