html5 поддерживает атрибут placeholder для элементов input [type = text]
, но мне нужно обрабатывать не -совместимые браузеры. Я знаю, что существует тысяча плагинов для заполнителя, но я бы хотел создать 1001-й.
Я могу получить дескриптор элемента input [placeholder]
, но попытка получить значение атрибута placeholder возвращает undefined - $ ("input [placeholder]"). attr ("заполнитель")
.
Я использую 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"));
}
});
}
});
Спасибо за любую помощь, B