1. 程式人生 > >移動端點透事件原理及阻止 touch click

移動端點透事件原理及阻止 touch click

什麼條件發生點透

  • A z-index大於B,即A顯示在B浮層之上
  • A發生touch, A touch後立即消失, B事件繫結click

點透事件發生的原理

當手指觸控到螢幕的時候,系統生成兩個事件,一個是touch 一個是click,touch先執行,touch執行完成後,A從文件樹上面消失了,而且由於移動端click還有延遲200-300ms的關係,當系統要觸發click的時候,發現在使用者點選的位置上面,目前離使用者最近的元素是B,所以就直接把click事件作用在B元素上面了。

如何解決點透

阻止click事件發生

A.addEventListener
('touchend', function(e) { e.preventDefault(); });