javascript - ejemplo - ¿Por qué el evento "onmouseover" utiliza "return true" para evitar el comportamiento predeterminado?
onmouseover javascript (3)
He estado buscando esto por un tiempo, pero no tengo ninguna explicación.
Para "onclick" y otros eventos en javascript, el manejador de eventos que devuelve falso significa "prevenir la acción predeterminada". Sin embargo, hay una excepción para "onmouseover". Para "onmouseover", devolver verdadero significa "prevenir acción predeterminada".
¿Por qué hay un caso excepcional raro para "onmouseover"?
En lugar de utilizar return false / true para evitar el comportamiento de evento predeterminado, use el método / atributo predeterminado en el objeto de evento:
elem.onmouseover = function(e) {
if (!e) var e = window.event; // IE
if(e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false; // IE
}
}
Por lo que sé, el retorno true
para evitar que la URL de un enlace se muestre en la barra de estado es una característica específica de IE (mis-). Y tratando de entender por qué IE hace las cosas de la forma en que lo hace es a menudo una causa perdida, solo vivir con eso ...
Quién sabe por qué realmente. Justo como está: usted devuelve TRUE desde onmouseover para evitar que la url aparezca en la barra de estado, lo cual sería el comportamiento predeterminado.