placeholder屬性是HTML5新添加的屬性,當input或者textarea設置了該屬性后,該值的內容將作為灰色提示顯示在文本框中,當文本框獲得焦點時,提示文字消失,placeholder可作為輸入框的提示文字
效果圖
Paste_Image.png
placeholder是常用的屬性,它使得input框內有很友好的提示效果。高版本瀏覽器都支持placeholder屬性,但IE9以下版本的瀏覽器并不支持這一屬性。這里用JavaScript實現添加對瀏覽器的兼容處理。
function isPlaceholder(){
var input = document.createElement('input');
return 'placeholder' in input;
}
if (!isPlaceholder()) {//不支持placeholder 用jquery來完成
$(document).ready(function() {
if(!isPlaceholder()){
$("input").not("input[type='password']").each(//把input綁定事件 排除password框
function(){
if($(this).val()=="" && $(this).attr("placeholder")!=""){
$(this).val($(this).attr("placeholder"));
$(this).focus(function(){
if($(this).val()==$(this).attr("placeholder")) $(this).val("");
});
$(this).blur(function(){
if($(this).val()=="") $(this).val($(this).attr("placeholder"));
});
}
});
//對password框的特殊處理1.創建一個text框 2獲取焦點和失去焦點的時候切換
$("input[type='password']").each(
function() {
var pwdField = $(this);
var pwdVal = pwdField.attr('placeholder');
pwdField.after('<input class="login-input" type="text" value='+pwdVal+' autocomplete="off" />');
var pwdPlaceholder = $(this).siblings('.login-input');
pwdPlaceholder.show();
pwdField.hide();
pwdPlaceholder.focus(function(){
pwdPlaceholder.hide();
pwdField.show();
pwdField.focus();
});
pwdField.blur(function(){
if(pwdField.val() == '') {
pwdPlaceholder.show();
pwdField.hide();
}
});
})
}
});
}
導入這個js就可以兼容ie9以下不顯示placeholder的問題了