Cita:
Iniciado por TEPO Hola a todos, estoy con un pequeño problema, estoy utilizando los eventos onclick y onblur en un menu sencillo, para que cuando aprete un boton quede pintado con el onclick y cuando apriete otro el que estaba pintado se despinte con el onblur, me funciona en firefox, en explorer pero vaya sorpresa la mia, no funciona el onblur en google chrome, alguien podria ayudarme? paso el codigo.
Muchas Gracias.
Código:
<div id="menu">
<ul id="navMenu">
<li>
<a href="home.html" onclick="javascript:this.style.color='#1438EF';"
onblur="javascript:this.style.color='#000000';">Home</a>
</li>
<li>
<ahref="contacto.html"onclick="javascript:this.style.color='#1438EF';"
onblur="javascript:this.style.color='#000000';">Contacto</a>
</li>
</ul>
</div>
Estuve leyendo por ahí y ps como está en ingles, es decir aquí:
http://stackoverflow.com/questions/2407679/onblur-event-not-working-with-google-chrome
y junto con lo que leí aquí:
http://www.quirksmode.org/dom/events/blurfocus.html
Dice lo siguiente, resumido y unido:
Google chrome no considera ciertos elementos "enfocables" (focusables), y tampoco activa el evento en ciertos elementos cuando el usuario hace click con el mouse, solo con el teclado. Para darle la característica de enfocable utiliza el atributo "tabindex", el código lo corregí, así y ya me funciona:
Código HTML:
Ver original <a href="#" onclick="this.style.color='#1438EF';" onBlur="this.style.color='#000000';" tabindex="0">Home
</a> <a href="#" onclick="this.style.color='#1438EF';" onBlur="this.style.color='#000000';" tabindex="0">Contacto
</a>
Cabe mencionar que, si un objeto no es considerado "enfocable", por lo tanto no puede considerarse "borroso" si no está escogido y por lo tanto, no va a desencadenar el evento "onblur"