tap 事件点透问题

产生条件
若是绑定tap方法的dom元素在tap方法触发后会被干掉(隐藏,移走,删掉),则它底下同一位置的dom元素会触发click事件、或者有浏览器认为能够被点击有交互反应的dom元素(例如input的focus事件),这个称为“点透”现象。浏览器

产生缘由
click事件在移动端会有延迟(由于须要检测双击事件,移动端click300毫秒延迟的缘由)
zepto的tap事件是绑定在document.body上的,tap事件执行(冒泡以后)以前,click事件已经被"执行",只是被延迟了而已,因此在tap事件用preventDefault也无济于事
解决方案
底下的元素也使用tap事件,即上下两个元素使用同一种事件(tap/click)
不要使用tap事件,使用touchend事件处理,并preventDefault掉(不优雅,并且暴力)
使用fastclick库(把click的300ms延迟干掉)dom

相关文章
相关标签/搜索