html5在input[placeholder]元素上支持占位符属性,但是我需要处理不兼容的浏览器。 我知道那里有一千个用于占位符的插件,但我想创建第1001个插件。
我能够获得input[placeholder]元素的句柄,但尝试获取占位符属性的值将返回未定义-$("input[placeholder]").attr("placeholder")。
我正在使用jQuery 1.6.2。
这是jsfiddle。 我修改了代码以使其在html5兼容的浏览器中仅用于测试目的。
html
jQuery的
function SupportsInputPlaceholder() {
var i = document.createElement("input");
return "placeholder" in i;
}
$(document).ready(function(){
if(!SupportsInputPlaceholder()) {
//set initial value to placeholder attribute
$("input[placeholder]").val($("input[placeholder]").attr("placeholder"));
//create event handlers for focus and blur
$("input[placeholder]").focus(function() {
if($(this).val() == $(this).attr("placeholder")) {
$(this).val("");
}
}).blur(function() {
if($(this).val() == "") {
$(this).val($(this).attr("placeholder"));
}
});
}
});
感谢您的所有帮助,乙