移動端點透現象及解決辦法

2022-03-07 13:47:44 字數 706 閱讀 7021

移動端在 touch 上一共有4個事件,touchstart、touchmove、touchend、touchcancel, touchcancel, 一般來說,它們執行的順序為 touchstart -> touchmove -> touchend -> touchcancel .

當使用者在點選螢幕的時候,系統會觸發 touch 事件和 click 事件,touch 事件優先處理,touch 事件經過捕獲,目標,冒泡一系列流程處理完成後,才回去觸發 click 事件。也就是說 click 的觸發是有延遲的,這個時間大概在 300ms 左右。

點透發生的條件:

a 和 b不是後代繼承關係(如果是後代繼承關係的話,就直接是冒泡子類的話題了)

a發生 touch, a touch 後立即消失, b事件繫結 click

a z-index大於b,即 a 顯示在 b 浮層之上

點透發生的原因:當手指點選螢幕,系統生成兩個事件 touch 和 click 。touch 先執行,touch 執行完成後 a 消失,然後要執行 click 的時候,就會發現使用者點選的是 b,所以就執行了b的 click。

點透現象解決辦法:

阻止預設事件,在 touch 時間的某個階段執行 event.preventdefault() ,去取消系統生成的 click 事件,一半在 touchend 中執行

要消失的元素延時300ms,然後在消失

爆公尺花現象 晶元爆公尺花現象以及解決辦法

爆公尺花效應 爆公尺花效應 popcorm effect 特指因封裝產生裂紋而導致晶元報廢的現象,這種現象發生時,常伴有爆公尺花般的聲響,故而得名。典型案例 2005年,sony公司的ccd質量事故給這家公司帶來了數億美元的損失,也把整個數位相機製造業搞得焦頭爛額,狼狽不堪。最後查出的原因其實非常簡...

死鎖的現象和解決辦法

產生死鎖的根本原因是兩個或者兩個以上執行緒在執行過程中,因爭搶資源而產生相互等待的一種現象。在申請鎖的時候發生了交叉閉環申請。死鎖產生的四個條件 1 互斥。共享資源同時只能被乙個執行緒訪問。2 占有且等待。執行緒t1在取得共享資源a的時候,請求等待資源b的時候並不釋放資源a。3 不可搶占。其他執行緒...

粘包現象與解決辦法

一 什麼是粘包現象 須知 只有tcp有粘包現象,udp永遠不會粘包 粘包不一定會發生,如果發生了 1.可能是在客戶端已經粘了,2.客戶端沒有粘,可能是在服務端粘了 粘包現象 tcp粘包是指傳送方傳送的若干包資料到接收方接收時粘成一包,從接收緩衝區看,後一包資料的頭緊接著前一包資料的尾。成因 所謂粘包...