Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

Modernizr–Ejemplo práctico 1 : Utilizando Placeholder

image

Como ya saben Modernizr es una librería JavaScript que nos permite detectar las capacidades del soportadas por el navegador en relación a HTML5 y CSS3. Esto nos será en extremo útil cuando estemos desarrollando nuestras páginas con funcionalidades incluidas  HTML5 y deseemos que, en la medida de lo posible, usuarios con navegadores antiguos puedan tener la misma experiencia de usuarios, es decir, simular la característica nativa de HTML5 con un pollyfill, que básicamente son códigos o plugins que proveen la tecnología que nosotros, los desarrolladores, esperaríamos que el browser soportara nativamente.

Ejemplo práctico – PlaceHolder

El atributo Placeholder

Atributo HTML5, que podemos describirlo como el texto que aparece dentro de un campo de texto antes de que este tenga el foco, cuando el campo pierde el foco y si el campo está vacío, aparece nuevamente el texto. Ejemplo:

<label for="Rut">Ingrese su Rut:</label>
<input type="text" placeholder ="Ej: 13657654-K" id="rut" />

Lo que resulta en lo siguiente:

image

Ahora bien, que pasa y con browser que no soporten esta característica? y como detectamos si el browser que navega nuestra página no soporta esta funcionalidad? Tenemos dos opciones:

La más fácil : No hacer nada, simplemente las personas que naveguen con browser antiguos no van a tener esta funcionalidad

Lo mejor, mantener la experiencia de usuario, utilizando Modernizer y PollyFills

Paso 1, Agregar la librería Modernizr

<script src="js/modernizr-1.5.min.js"></script>¨

Paso 2, Agregar el código de detección y Pollyfill

if(!Modernizr.input.placeholder){

  $('[placeholder]').focus(function() {
   var input = $(this);
   if (input.val() == input.attr('placeholder')) {
       input.val('');
       input.removeClass('placeholder');
  }
  }).blur(function() {
     var input = $(this);
     if (input.val() == '' || input.val() == input.attr('placeholder')) {
         input.addClass('placeholder');
         input.val(input.attr('placeholder'));
     }
}).blur();
$('[placeholder]').parents('form').submit(function() {
    $(this).find('[placeholder]').each(function() {
    var input = $(this);
    if (input.val() == input.attr('placeholder')) {
       input.val('');
    }
  })
});

Como puedes ver, el primer if , detecta mediante el objeto Modernizr la capacidad del navegador , y si no soporta placeholder (que es un atributo de input), entonces aplicamos el código jQuery que provee la misma funcionalidad del placeholder nativo HTML5.

image

En navegadores que aún no soportan este atributo, mediante la técnica de graceful degradation vamos a lograr similares experiencias de usuario en navegadores antiguos.

Saludos!, pronto subo más ejemplos.

@chalalo

Posted: 10/1/2012 16:59 por Gonzalo Perez | con 2 comment(s)
Archivado en: ,
Comparte este post:

Comentarios

Chalalo Land ha opinado:

Hola que tal, este vez revisaremos tres ejemplos prácticos en donde podemos utilizar modernizer

# January 25, 2012 5:14 AM

Gonzalo Perez ha opinado:

Hola que tal, este vez revisaremos tres ejemplos prácticos en donde podemos utilizar modernizer

# January 25, 2012 5:27 AM