Si son iguales, ¿por qué hay dos de este tipo de evento?En los navegadores web, ¿cuál es la diferencia entre onblur y onfocusout?
Respuesta
Como usted sabe, el evento onBlur se activa para un elemento si ese elemento tenía el foco, pero lo pierde.
El evento onFocusOut se desencadena en este caso, pero también se desencadena si algún elemento secundario pierde el foco.
Por ejemplo, tiene un div con formato especial porque el ser humano está editando un campo en esa área. Podría usar en Foco Externo para desactivar ese formato cuando el foco abandone ese div.
Hasta hace muy poco, enFocusOut solo lo usaba IE. Si eso ha cambiado, ha sido muy reciente. Prueba en FF, Chrome, etc.
actualización de noviembre de 2012 - Chrome aún no admite 'onfocusout'. http://jsfiddle.net/4n39h/1/ –
enero de 2014 im usando onfocusout en cromo – Snymax
onBlur se dispara incluso si la página pierde el foco –
El evento onfocusout
es un evento no estándar que solo funciona en Internet Explorer, mientras que el evento onblur
es parte de los estándares W3C y funciona en todos los navegadores modernos.
The Jquery documentation has a good focusout
vs. blur
demo que reproduciré a continuación para mayor claridad. En resumen, focusout
se dispara si el selector - $('p')
en la demostración - es cualquier cosa incluyendo las entradas y los elementos principales. Mientras que, blur
solo se activa si el selector está en las entradas - $('input')
.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>focusout demo</title>
<style>
.inputs {
float: left;
margin-right: 1em;
}
.inputs p {
margin-top: 0;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div class="inputs">
<p>
<input type="text"><br>
<input type="text">
</p>
<p>
<input type="password">
</p>
</div>
<div id="focus-count">focusout fire</div>
<div id="blur-count">blur fire</div>
<script>
var focus = 0,
blur = 0;
$("p")
.focusout(function() {
focus++;
$("#focus-count").text("focusout fired: " + focus + "x");
})
.blur(function() {
blur++;
$("#blur-count").text("blur fired: " + blur + "x");
});
</script>
</body>
</html>
No puedo disparar el desenfoque, no sé por qué: / –
hay ninguna diferencia esencial en 2017:
https://www.quirksmode.org/js/events_order.html
pocos desarrolladores web utilizan conscientemente captura de eventos o el burbujeo. En las páginas web, tal como están hechas hoy, simplemente no es necesario permitir que un evento de burbujeo sea manejado por varios manejadores de eventos diferentes. Los usuarios pueden confundirse por varias cosas que suceden después de un clic del mouse, y generalmente desea que su evento maneje los scripts separados.
- 1. ¿cuál es la diferencia entre los navegadores y el nodo?
- 2. ¿Cuál es la diferencia entre los atributos onBlur y onChange en HTML?
- 3. ¿Cuál es la diferencia entre web-crawling y web-scraping?
- 4. ¿Cuál es la diferencia entre Web farm y Web Garden?
- 5. ¿Cuál es la diferencia entre los atributos "wairole" y "role"?
- 6. ¿Cuál es la diferencia entre los paquetes android.opengl y javax.microedition.khronos.opengles?
- 7. ¿Cuál es la diferencia entre los certificados rapidSSL y geotrust?
- 8. ¿Cuál es la diferencia entre ".equals" y "=="?
- 9. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 10. En VS2008, ¿cuál es la diferencia entre el sitio web y la aplicación web?
- 11. ¿Cuál es la diferencia entre + = y = +?
- 12. ¿cuál es la diferencia entre:.! y: r !?
- 13. ¿Cuál es la diferencia entre los eventos Control.Enter y Control.GotFocus?
- 14. ¿Cuál es la diferencia entre los datos-dojotype y dojoType?
- 15. ¿Cuál es la diferencia entre todos los proyectos y subproyectos
- 16. Cuál es la diferencia entre $ y jQuery
- 17. Cuál es la diferencia entre = y: =
- 18. Cuál es la diferencia entre $ (...) y `...`
- 19. ¿Cuál es la diferencia entre dict() y {}?
- 20. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 21. ¿Cuál es la diferencia entre los archivos .so y .a?
- 22. ¿Cuál es la diferencia entre los archivos apklib y jar?
- 23. ¿Cuál es la diferencia entre {0} y ""?
- 24. ¿Cuál es la diferencia entre .ToString (+) y ""
- 25. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 26. ¿Cuál es la diferencia entre " " y ""?
- 27. ¿Cuál es la diferencia entre document.location.href y document.location?
- 28. ¿Cuál es la diferencia entre los archivos .lib y .a?
- 29. ¿Cuál es la diferencia entre los algoritmos genéticos y evolutivos?
- 30. ¿Cuál es la diferencia entre los métodos iterator y view?
explicación completa del evento burbujeo y captura http://javascript.info/tutorial/bubbling-and-capturing – Mikhail