2010-04-08 14 views

Respuesta

18

Usted querrá utilizar:

$(document).ready(function() { /* your code */ }); 

hacer que algo suceda onLoad. Si quieres que algo funcione proceso de carga y onresize, que debe hacer:

onResize = function() { /* your code */ } 

$(document).ready(onResize); 

$(window).bind('resize', onResize); 
1

Este comportamiento es por diseño.

Debe poner su código en una función nombrada, luego llame a la función.

Por ejemplo:

function onResize() { ... } 

$(onResize); 
$(window).resize(onresize); 

Alternativamente, se puede hacer un plugin para atar y ejecutar un controlador de forma automática:

$.fn.bindAndExec = function(eventNames, handler) { 
    this.bind(eventNames, handler).each(handler); 
}; 

$(window).bindAndExec('resize', function() { ... }); 

en cuenta que no funcionará correctamente si el manejador utiliza el objeto event y no cubre todas las sobrecargas del método bind.

1
$(document).ready(onResize); 
$(window).bind('resize', onResize); 

no funcionaba conmigo.

Trate

$(window).load('resize', onResize); 
$(window).bind('resize', onResize); 

lugar.

(Sé que esta pregunta es viejo, pero google me enviaron aquí, así que ...)

0

Otro enfoque, puede simplemente configurar un manejador, y suplantar un evento de cambio de tamaño a sí mismo:

// Bind resize event handler through some form or fashion 
$(window).resize(function(){ 
    alert('Resized!'); 
}); 

// Trigger/spoof a 'resize' event manually 
$(window).trigger('resize'); 
4

Creo que la mejor solución es simplemente para obligar a éste a la carga y cambiar el tamaño de evento:

$(window).on('load resize', function() { 
    // your code 
}); 
+0

Esta es la respuesta más directa de todos –

+0

Esto hace que sea sencillo y limpio. – jamesnotjim

Cuestiones relacionadas