解決input標簽placeholder屬性瀏覽器兼容性問題的一種方法


為文本框input添加文字輸入提示,H5為input提供了一個placeholder屬性。在支持H5的瀏覽器中,用此屬性設置輸入提示,簡單方便,但是對於IE8以下版本,都不支持placeholder屬性,此時必須通過另外的方式來實現輸入提示。

其實,我們可以利用label標簽來模擬placeholder屬性。先看例子,后解釋:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
    function inputEvent(obj){
        if(obj.value){
            document.getElementsByTagName('label')[0].style.visibility = "hidden";
        }else{
            document.getElementsByTagName('label')[0].style.visibility = "visible";
        }        
    }
    function labelEvent(){
        document.getElementsByTagName('input')[0].focus();
    }
    </script>
</head>
<body>
    <div>
        <label style="position:absolute;color:gray;"  onclick="labelEvent()">User Name</label>    
        <input type="text" onkeyup="inputEvent(this)" />        
    </div>
</body>
</html>

 

看到這里估計就很清楚了,label標簽本來是為input標簽定義標注的,這里把label標簽的樣式設置為絕對定位,定位到input輸入框中,然后再利用click事件和keyup事件來控制label的顯示及隱藏,通過這種方式可以“屏蔽”placeholder屬性的跨瀏覽器的兼容性問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM