Siempre que sea posible, prefiero llamar a la función en lugar de enviar un evento. Esto funciona bien si tiene control sobre el código que desea ejecutar, pero consulte a continuación los casos en los que no posee el código.
window.onresize = doALoadOfStuff;
function doALoadOfStuff() {
//do a load of stuff
}
En este ejemplo, se puede llamar a la función doALoadOfStuff
sin el envío de un evento.
En sus navegadores modernos, puede trigger the event usando:
window.dispatchEvent(new Event('resize'));
esto no funciona en Internet Explorer, en el que tendrá que hacer la escritura a mano:
var resizeEvent = window.document.createEvent('UIEvents');
resizeEvent .initUIEvent('resize', true, false, window, 0);
window.dispatchEvent(resizeEvent);
jQuery has the trigger
method, que funciona de la siguiente manera:
$(window).trigger('resize');
Y tiene la advertencia:
Aunque .trigger() simula una activación de evento, completa con un objeto de evento sintetizado, no replica perfectamente un evento natural.
También puede simular eventos en un elemento específico ...
function simulateClick(id) {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
var elem = document.getElementById(id);
return elem.dispatchEvent(event);
}
He documentado algunos de los enfoques también http://thewebjuice.com/?p=309&preview=true –