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