Html5的placeholder屬性(IE兼容)實現(xiàn)代碼
HTML5對Web Form做了許多增強,比如input新增的type類型、Form Validation等。
Placeholder是HTML5新增的另一個屬性,當input或者textarea設置了該屬性后,該值的內容將作為灰字提示顯示在文本框中,當文本框獲得焦點時,提示文字消失。以前要實現(xiàn)這效果都是用JavaScript來控制才能實現(xiàn) , firefox、google chrome等表示對其支持 , 唯獨IE存在違和感啊!
例如: <input id="t1" type="text" placeholder="請輸入文字" />
介紹一個超強的讓IE下支持placeholder的屬性插件,同時也兼容其他不支持placeholder的瀏覽器,代碼如下:
$(document).ready(function(){ var doc=document, inputs=doc.getElementsByTagName('input'), supportPlaceholder='placeholder'in doc.createElement('input'), placeholder=function(input){ var text=input.getAttribute('placeholder'), defaultValue=input.defaultValue; if(defaultValue==''){ input.value=text } input.onfocus=function(){ if(input.value===text) { this.value='' } }; input.onblur=function(){ if(input.value===''){ this.value=text } } }; if(!supportPlaceholder){ for(var i=0,len=inputs.length;i<len;i++){ var input=inputs[i], text=input.getAttribute('placeholder'); if(input.type==='text'&&text){ placeholder(input) } } } });
直接把代碼復制下來,保存成一個js文件引用即可,不用再做任何處理,超級便利!
ex : 這樣做的確能讓IE的Input顯示placeholder屬性,但是如果頁面上只有一個input還好,如果是多個input,如果出現(xiàn)input沒有填入任何值的話,那么它的空input會自動將placeholder的值填進value里面,從而發(fā)生錯誤.例如:
<input type="text" placeholder="輸入商品編碼" name="goodscode" id="goodscode" value="123" /> <input type="text" placeholder="輸入商品名稱" name="goodsname" id="goodsname" value="輸入商品名稱" />
解決辦法就是在后臺自己判斷啦 , 也許能在上面的js文件里解決 , 以后再研究啦~!
相關文章
addEventListener—jQuery的事件監(jiān)聽方法
在Javascript中,事件監(jiān)聽是非常重要的,通過事件監(jiān)聽,我們可以在用戶執(zhí)行某些操作時觸發(fā)相應的處理程序。最初,Javascript監(jiān)聽事件的方式是addEvent。addEvent()比較麻煩,所以jQuery為我們提供了一個更為便捷的事件監(jiān)聽方法:addEventListener。2023-06-06jQuery+jqmodal彈出窗口實現(xiàn)代碼分明
jQuery+jqmodal彈出窗口的制作方法,需要的朋友可以參考下。2010-06-06jQuery實現(xiàn)的響應鼠標移動方向插件用法示例【附源碼下載】
這篇文章主要介紹了jQuery實現(xiàn)的響應鼠標移動方向插件用法,涉及jQuery響應鼠標事件及頁面元素屬性動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下2018-08-08基于JQuery及AJAX實現(xiàn)名人名言隨機生成器
這篇文章主要為大家詳細介紹了基于JQuery及AJAX實現(xiàn)名人名言隨機生成器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02