Estoy tratando de usar el atributo placeholder="xxx"
en mi aplicación web, y no quiero tener una imagen especial para IE9. ¿Pueden las personas arrojar algunas buenas sugerencias para lograr esta funcionalidad en IE9?IE9 marcador de posición HTML5: ¿cómo lo está logrando la gente?
He encontrado un par de enlaces aquí, pero ninguno de los scripts sugeridos era suficiente ... y las respuestas fueron a partir de mediados de 2011, así que pensé que tal vez hay una mejor solución por ahí. ¿Quizás con un plugin jQuery ampliamente adoptado? No quiero usar nada que requiera un código intrusivo, como requerir cierta clase de CSS o algo así.
Gracias.
EDIT - También necesito que esto funcione para los campos de entrada de contraseña.
// 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();
});
}
}
}
posible duplicado de [marcador de posición en IE9] (http://stackoverflow.com/questions/6366021/placeholder-in-ie9) –