【发布时间】:2023-03-03 10:13:01
【问题描述】:
html5 支持 input[type=text] 元素的占位符属性,但我需要处理不兼容的浏览器。我知道有一千个用于占位符的插件,但我想创建第 1001 个。
我能够获取input[placeholder] 元素的句柄,但尝试获取占位符属性的值返回未定义 - $("input[placeholder]").attr("placeholder")。
我正在使用 jquery 1.6.2。
这里是jsfiddle。我修改了代码以在兼容 html5 的浏览器中工作,仅用于测试目的。
html
<input type="text" name="email" size="10" placeholder="EMAIL ADDRESS">
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"));
}
});
}
});
感谢您的任何帮助, 乙
【问题讨论】:
标签: jquery custom-attributes attr