前面在做一個H5中用到的6位數字密碼彈框(類似支付、微信那種)時,遇到一個可怕問題,那就是在瀏覽器和安卓中是不顯示輸入光標的,但是在ios手機上光標總是能看見,像穿透一樣地顯示最外層。
先說下實現密碼框的思路,一般是采用遮擋隱藏一個輸入框,然后在輸入框的上面該一層一般是一組6個<span>●</span>,然后通過點擊布局是讓隱藏的輸入框獲得焦點,最后監聽input的textChange,添加對應個數的●,等於6個的時候執行相應的處理。
一開始為了達到input的完全隱藏,可謂下了許多手段:z-index:負數,opacity:0, color: transparent !important;,可是發現還是不好使。最后嘗試了 margin-left: -100%; text-indent: -999em;//文本向左縮進 才解決了問題。
終極大招:再配合設置下隱藏的input的寬度為1px