记一次bug解决!改变思路解决问题的同时,还需要弄明白是什么原因。

bug情况:

需求:某弹层需求点击close按钮和点击遮罩层都触发关闭事件。

认知度:刚接手的杂乱程序。

bug:在电脑上功能完整,在安卓APP中嵌入的h5页面点击遮罩层失败。

调研结果:

1、点击遮罩层在pc中实际是点击的内容容器,通过判断来关闭弹层和遮罩。

2、在页面上通过append输出若干日志。

3、通过日志分析,安卓APP中点击遮罩层没有触发点击事件。

4、通过$(document).on(function(event){$(event.target).attr('class')}),识别页面中所有点击元素的class,仍然无点击事件触发。仅仅是遮罩层部分未触发点击事件。

5、怀疑遮罩层元素有绑定事件和阻止冒泡,则通过setTimeout延迟1秒后off遮罩层的click事件后重新绑定click事件。仍然无日志无点击事件触发。

尴尬:

根本找不到在安卓APP中点击遮罩层,点击到的是哪个元素。

浪费时间:

用了2-3个小时未找到具体问题。

寻找同事协助:

同事听完讲解后,同样的结果。。。。。。思虑后决定自己做一个层来承接安卓APP中的点击事件。。。。。。

结论:

1、未找到实质问题,有时间还得研究。

2、通过自己做新覆盖层,暂时解决了点击失效问题。

3、写程序,当一个问题卡死后,可以先用别的方法绕过,后续再寻找解决方案。

原文地址:https://www.cnblogs.com/lstrive/p/11909012.html