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

歡迎訪問 生活随笔!

生活随笔

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

HTML

html 占位文本,跨浏览器的HTML5占位文本(PlaceHolder)方案

發布時間:2025/4/16 HTML 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html 占位文本,跨浏览器的HTML5占位文本(PlaceHolder)方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTML5里面一個非常不錯的擴展功能就是可以在文本框上面增加占位文本。占位文本(PlaceHolder)是指當一個文本框沒有被focus的時候顯示的是提示文字,當他被點擊之后就顯示空白。這個功能很不錯,但是并不是所有的瀏覽器都支持。這篇文章就來討論一下怎樣用比較簡單的方法可以讓所有瀏覽器都支持這個特性。

傳統的解決辦法

在我們有這個屬性之前,我們一般是通過Javascript來實現這個效果。 這段文字被設置在value屬性里面,當聚焦了之后,檢驗文本框的值是否等于默認值,如果是則清空文本框。當文本框失去焦點的時候,再檢查是否為空,為空則再寫上默認值。這個方法很不高效,而且每個文本框都得去檢測。

jQueyr 占位文本

現在有了HTML5之后,通過placeholder屬性來設置就比value設置語義化的多了。然而,這個屬性并不是所有的瀏覽器都支持,所以我們需要jQuery和Modernizr的支持。

在這里Modernizr是用來檢測瀏覽器是否支持一些HTML5屬性的。如果瀏覽器不支持,那么再運行jQuery代碼。它會先找到所有帶PlaceHolder屬性的元素,然后存儲在一個變量中。然后會將元素的value和這個變量對比,如果為空則顯示placeholder里面的內容,并且會增加一個”placeholder”的css樣式。

如果你想在你的網站中使用這個東西,需要引入jQuery和Modernizr,注意放置在合適的路徑下,然后把下面的代碼復制進去。

$(document).ready(function(){if(!Modernizr.input.placeholder){

$('[placeholder]').focus(function() {varinput=$(this);if(input.val()==input.attr('placeholder')) {

input.val('');

input.removeClass('placeholder');

}

}).blur(function() {varinput=$(this);if(input.val()==''||input.val()==input.attr('placeholder')) {

input.addClass('placeholder');

input.val(input.attr('placeholder'));

}

}).blur();

$('[placeholder]').parents('form').submit(function() {

$(this).find('[placeholder]').each(function() {varinput=$(this);if(input.val()==input.attr('placeholder')) {

input.val('');

}

})

});

}

去除Webkit搜索框樣式

Webkit內核的瀏覽器會給搜索框增加一些額外的樣式,通過下面的CSS可以去掉這個樣式:

input[type=search] {-webkit-appearance: none;

}

input[type="search"]::-webkit-search-decoration,

input[type="search"]::-webkit-search-cancel-button {

display: none;

}

總結

以上是生活随笔為你收集整理的html 占位文本,跨浏览器的HTML5占位文本(PlaceHolder)方案的全部內容,希望文章能夠幫你解決所遇到的問題。

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