How can HTML 5 input placeholder attribute perfectly serve as IE

Time:2022-4-29

Remember to reference the jQuery class library

Copy code

The code is as follows:

$(document).ready(function () {
if ($.browser.msie)
$(“input:text,input:password”).each(function () {
var $placeholder = $(this).attr(“placeholder”);
var $width = $(this).css(“width”);
var $id = $(this).attr(“id”);
var $height = parseInt($(this).css(“height”)) + 6 + “px”;
var $fontSize = $(this).css(“font-size”);
var $fontWeight = $(this).css(“font-weight”);
var $lineHeight = $height;
if ($(this).css(“line-height”) != “normal”) {
$lineHeight = parseInt($(this).css(“line-height”)) + 6 + “px”;
}
if ($placeholder != undefined) {
$(this).after(“<span class=\”placeholder ph_” + $id + “\” style=\”width:” + $width + “;line-height:” + $lineHeight + “;height:” + $height + “;font-weight:” + $fontWeight + “;margin-left:-” + $width + “;font-size:” + $fontSize + “\”>” + $placeholder + “</span>”);
}
$(this).bind(“keyup”, function () {
if ($(this).val() == “”) {
$(this).parent().find(“.ph_” + $id).css(“display”, “inline-block”);
}
else {
$(this).parent().find(“.ph_” + $id).css(“display”, “none”);
}
});
});
$(“.placeholder”).live(“click”, function () {
$(this).prev().focus();
});
});

Page call

Copy code

The code is as follows:

< input type = “text” placeholder = “I am, the prompt content is normal” / >

< input type = “text” placeholder = “I am the width and height of prompt content” style = “width: 100px; height: 100px;” / >

< input type = “text” placeholder = “I am the prompt content, I have other styles” / style = “width: 300px; height: 40px; font weight: bold;” >

< input type = “text” placeholder = “you can also try other” / >

style

Copy code

The code is as follows:

<style type=”text/css”>
.placeholder {display:inline-block;color:gray;vertical-align:top;overflow:hidden;}
</style>