日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

兼容ie浏览器的placeholder的几种方法

發布時間:2024/4/14 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 兼容ie浏览器的placeholder的几种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目中遇到的問題,試了幾種方法,今天整理出來,如果有不合適的地方,希望大家多多提意見。

  • 第一種方法是:使用html新增的屬性 “data-”來實現的,實現的時候,input框沒有使用placeholer這個屬性,但是卻可以實現一樣的效果并且兼容各大瀏覽器。 <!doctype html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="jquery-1.10.2.min.js"></script> <title></title> <style type="text/css" media="screen">.inp {color: #666;} </style> </head><body> <input name="" datavalue="輸入文字" class="ipt"> </body> <script type="text/javascript">$(function(){function placeholder(target){$(target).val($(target).attr("datavalue")).addClass("inp");$(target).focus(function() {if($(this).val() == $(this).attr("datavalue")) {$(this).val("").removeClass("inp");} })$(target).blur(function(){if($(this).val() == "" || $(this).val() == $(this).attr("datavalue")) {$(this).val($(target).attr("datavalue")).addClass("inp");}})} placeholder(".ipt") }) </script> </html>

    在上述的代碼中,我將主要實現的代碼封裝了一個方法,因此等到下次再要使用的時候,可以直接調用placeholder(".ipt")這個函數即可,輸入input的class值。
    說明一下:.inp這個class,是為了實現和placeholder一樣的顯示效果。當使用的是placeholder提示的話,字體得顏色是#666的。

  • 第二種方法:在第二種方法中,我們使用了判斷ie瀏覽器的版本來實現的。我們都知道,placeholder主要是不兼容ie10-以下的版本,所以當用戶使用的是ie10-以下的瀏覽器的時候,我們就會使用一個span標簽來模擬提示。 <!doctype html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="jquery-1.10.2.min.js"></script> <title></title> <style type="text/css" media="screen">.spn {position: absolute;font-size: 14px;left: 10px;top: 9px;display: none;color:#666;} </style> </head><body> <input type="text" name="" placeholder="輸入文字" class="ipt"> <span class="spn">輸入文字</span> </body>
    <script type="text/javascript"> $(function(){ function placeholder(target){ var browser=navigator.appName var b_version=navigator.appVersion var version=b_version.split(";"); var trim_Version=version[1].replace(/[ ]/g,""); if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0" || browser=="Microsoft Internet Explorer" && trim_Version=="MSIE8.0" || browser=="Microsoft Internet Explorer" && trim_Version=="MSIE9.0") { $(target).siblings("span").show(); $(target).focus(function() { $(this).siblings("span").hide(); }) $(target).blur(function(){ if($(this).val() == "") { $(this).siblings("span").show(); } }) } } placeholder(".ipt") }) </script>
    </html>

    ?

  • 第三種方法:第三種方法使用了 瀏覽器判斷是否支持placeholder屬性,如果支持的話,就是正常顯示就好了。如果不支持,會調用placeholder函數,當input框獲得焦點時,比較input框的值是否等于默認值,如果等于,則置空。當input框失去焦點的時候,如果input框的值為空,則將保存的默認值賦值給它。并且添加class將字體顏色設為#666.當在input框輸入值的時候,移除phcolor這個class,輸入的字符不是灰色的。 <!DOCTYPE html> <html> <head><title></title><meta charset="utf-8"><script type="text/javascript" src="jquery-1.10.2.min.js"></script><style type="text/css">.phcolor{ color:#666;}.box {position:relative;font-size: 14px;}.box span{position: absolute;left: 0px;font-size: 14px;display: none;}</style> </head> <body> <div class="box"><input class="ipt" placeholder="輸入文字" type="text"></input><span class="ipt_abs">輸入文字</span> </div></body> <script type="text/javascript">$(function(){//判斷瀏覽器是否支持placeholder屬性 supportPlaceholder='placeholder'in document.createElement('input');placeholder=function(input){var text = input.attr('placeholder');defaultValue = input.defaultValue;if(!defaultValue){input.val(text).addClass("phcolor");}input.focus(function(){if(input.val() == text){$(this).val("");}})input.blur(function(){if(input.val() == ""){$(this).val(text).addClass("phcolor");}});//輸入的字符不為灰色 input.keydown(function(){$(this).removeClass("phcolor");})}//當瀏覽器不支持placeholder屬性時,調用placeholder函數if(!supportPlaceholder){$('input').each(function(){text = $(this).attr("placeholder");if($(this).attr("type") == "text"){placeholder($(this));}})} })</script> </html>

    結束語:這幾種方法是目前親測過,第一種以及第二種是比較合適的方法,第三種方法,樓主感覺還是有一點問題,希望大家測出來問題的,及時與我聯系哈。
    ?第二種實現方法也是可以運行的,但是上次做項目的時候,不知道為什么,單個的頁面運行都沒有問題,放到項目中的話,就會對別的功能造成影響,一直運行不了。因此樓主才重新想了第一種方法。不過第一種方法也是挺好用的。希望大家多多提意見哈

  • 轉載于:https://www.cnblogs.com/maxiaodan/p/5337213.html

    總結

    以上是生活随笔為你收集整理的兼容ie浏览器的placeholder的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。