屏蔽移動端瀏覽器的長按事件


  最近做了一個圖片閱后即焚的網頁在移動端瀏覽,過程是按住屏幕並移動時,圖片會慢慢展示,松開手時圖片立即粉碎消失。

  但是長按圖片時會觸發瀏覽器自帶的長按事件,從網上搜索得知有以下兩種方法:

  1.添加事件   ontouchstart = "return false;"

  2.css統一加上 -webkit-user-select:none; -webkit-touch-callout:none;

  但是上述方法對頁面的其他需求有影響,最終我采用的方法是,寫一個空的透明的DIV置於頁面最上層遮住所有元素,這樣就可以避免系統的長按事件,在需要屏蔽長按事件時,隱藏DIV即可,DIV樣式:{position:fixed;width:100%;height:100%;z-index:99;background:rgba(255,255,255,0);overflow:hidden;top:0px;left:0px;}

 

PS:過程中還遇到一下小問題就是,在需要長按二維碼識別的頁面,已經移除了當前頁面的遮罩DIV,但是長按還是沒反應。

  二維碼開始樣式是:{width:46%;position:fixed;left:27%;top:40%;}

  后來發現必須給二維碼加上層高 z-index:100;大於遮罩DIV的層高。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM