javascript - div - resize event
$(ventana).on(''resize'') en JavaScript (2)
En JavaScript, es el siguiente código:
window.onresize = function() {
// Do something.
}
Lo mismo que:
$(window).on(''resize'', function () {
// Do something.
});
¿Son los dos bloques de código superiores iguales, en cuanto a la funcionalidad? ¿Hay alguna ventaja o desventaja (por menor que sea) usando uno u otro?
Qué pasa:
window.addEventListener(''resize'', function(event) {
// Do something.
});
No son lo mismo, en el primer ejemplo, estás afectando un evento al manejador de objetos onresize
dom onresize
.
La versión de jQuery probablemente esté haciendo algo diferente detrás de la escena. Sin mirar el código fuente, probablemente solo lo haga:
window.addEventListener(''resize'', function () {...})
Dicho esto, la versión de jQuery y el addEventListener
nativo todavía son diferentes porque jQuery también está agregando algo de magia al controlador de eventos.
Y addEventListenener
es probablemente la forma preferida de agregar eventos a un objeto DOM, porque puede agregar múltiples eventos pero con el atributo dom on[event]
está limitado a un evento.
Aquí hay un poco más al respecto: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
Mientras lo hace, también puede leer sobre el amigo addEventListener
: removeEventListener
.
No, no son lo mismo. Tu podrías intentar:
$(window).on(''resize'',function1);
$(window).on(''resize'',function2);
y function1 y function2 responden cuando cambia el tamaño de la ventana.
Pero si estás usando
window.onresize = function1;
window.onresize = function2;
Solo function2 responde.