移動端禁用系統默認菜單

首先介紹兩個移動端私有屬性
-webkit-touch-callout,-webkit-tap-highlight-color
-webkit-touch-callout:當你觸摸並按住觸摸目標時候,禁止或顯示系統默認菜單。在iOS上,當你觸摸並按住觸摸的目標,好比一個連接,Safari瀏覽器將顯示連接有關的系統默認菜單。這個屬性能夠讓你禁用系統默認菜單。
-webkit-tap-highlight-color :當用戶點擊iOS的Safari瀏覽器中的連接或JavaScript的可點擊的元素時,覆蓋顯示的高亮顏色。android

該屬性能夠只設置透明度。若是未設置透明度,iOS Safari使用默認的透明度。當透明度設爲0,則會禁用此屬性;當透明度設爲1,元素在點擊時不可見。ios

在手機webkit瀏覽器中,用戶在某一些按鈕上長按3秒鐘後,會彈出一個系統的列表,ios和android各自展示不同,列表能夠有複製或在在新窗口打開的等操做,這種體驗對於按鈕來講是不須要的,按鈕上是綁定事件,有特殊功能,而這裏系統把它當作一個連接的意義。查看了代碼,原來是一個a標籤,連接地址爲空。web

<a href="#" class="btn">查看餘額</a>

在IOS平臺下只需控制當前元素的-webkit-touch-callout的樣式屬性爲none;屬性來禁止觸發系統的菜單瀏覽器

a{-webkit-touch-callout:none}

這裏補充-webkit-touch-callout:none 的功能,測試結果以下:測試

1.ios 長按時不觸發系統菜單code

2.ios 和 android 長按時不觸發下載圖片菜單事件

**安卓下,只能用button ,input type="button" 代替a標籤圖片

相關文章
相關標籤/搜索