Я пытаюсь использовать атрибут placeholder="xxx"
в своем веб-приложении, и я не хочу иметь специальный визуал для IE9. Могут ли люди отказаться от некоторых хороших предложений для достижения этой функциональности в IE9?
Я нашел пару ссылок здесь, но ни один из предложенных сценариев не был достаточным... и ответы были с середины 2011 года, поэтому я подумал, что, возможно, там есть лучшее решение. Возможно, с широко распространенным плагином jQuery? Я не хочу использовать что-либо, требующее интрузивного кода, например, требуя определенного класса CSS или что-то в этом роде.
Спасибо.
EDIT. Мне также нужно, чтобы это работало для полей ввода пароля.
// the below snippet should work, but isn't.
$(document).ready(function() {
initPlaceholders()();
}
function initPlaceholders() {
$.support.placeholder = false;
var test = document.createElement('input');
if ('placeholder' in test) {
$.support.placeholder = true;
return function() { }
} else {
return function() {
$(function() {
var active = document.activeElement;
$('form').delegate(':text, :password', 'focus', function() {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (_placeholder != '' && _val == _placeholder) {
$(this).val('').removeClass('hasPlaceholder');
}
}).delegate(':text, :password', 'blur', function() {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (_placeholder != '' && (_val == '' || _val == _placeholder)) {
$(this).val(_placeholder).addClass('hasPlaceholder');
}
}).submit(function() {
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});
$(':text, :password').blur();
$(active).focus();
});
}
}
}