記錄一下成長的歷程吧!
剛開始寫,沒什么文筆,也沒什么技術含量,可能主要的是紀錄一下平常工作學習中遇到的問題,以及解決的辦法吧。或者只有問題,沒有解決辦法。
前兩天項目中遇到的一個問題,由於之前一直沒有在ie瀏覽器校驗過登陸密碼,所以一直沒遇到過。
問題描述:
由於placeholder是html5的新屬性,只有支持了html5的瀏覽器才支持placeholder,目前最新的firefox、chrome、safari以及ie10都支持,ie6到ie9都不支持。
所以在IE6-9上面如果是密碼輸入框的話,並且有類似於“請輸入密碼”這樣的占位符提示的話,就需要將input屬性type在text和password之間不停的來回切換。
但是在jquery中,“type屬性是 read/write-once 的,只在初始化時set”,所以無法通過$(ele).attr(‘type’, ‘password’)來修改,那么原生js呢?依然是在ie下不支持document.getElementById(id).type = ‘password’,所以原則上就只能逼迫換個思路來解決問題。
頁面中寫入兩個input,
<input type="password" data-holder="密碼" style="display:none;">
<input type="text" value="密碼" data-holder="密碼">
初始化時,將type=password的input隱藏,當獲取input[type=’text’]焦點時,將自己隱藏,顯示type=password的input,並獲取焦點,失去焦點時,進行相反的過程。直接上代碼。