下午遇到一個問題,移動端的input都不能輸入了,后來發現是
-webkit-user-select :none ;
在移動端開發中,我們有時有針對性的寫一些特殊的重置,比如:
* { -webkit - touch - callout: none; //-webkit-touch-callout:none; 阻止長按圖片之后呼出菜單提示復制的行為 //禁用Webkit內核瀏覽器的文字大小調整功能。 -webkit-text-size-adjust: none; //避免點擊a標簽或者注冊了click事件的元素時產生高亮 -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // //禁止用戶進行復制.選擇. -webkit-user-select: none; }
其中,-webkit-user-select :none ;會產生一些問題。
這是webkit內核瀏覽器下的一個bug,具體可以參考這篇文章:https://bugs.webkit.org/show_bug.cgi?id=82692

阻止了用戶的選擇內容行為,會導致一些“內容可編輯”標簽無法正常使用,比如input、testarea。
如果網站不需要阻止用戶的選擇內容的行為就可以使用如下樣式:
* { -webkit-user-select: text; -user-select: text; }
另一種方式:
*: not(input, textarea) { -webkit - touch - callout: none; -webkit - user - select: none; }
user-select , can cause issues in elements with contenteditable="true" ,so better to add that too .
所以,最好把它也加上。
最終的代碼:
[contenteditable = "true"], input, textarea { -webkit-user- select: auto!important; -khtml-user-select: auto!important; -moz-user-select: auto!important; -ms-user-select: auto!important; -o-user-select: auto!important; user-select: auto!important; }
本文內容大概就這么多,歡迎交流,歡迎反饋,如有錯誤,還請糾正,謝謝閱讀。