Wenn möglich, ziehe ich es vor, die Funktion aufzurufen, anstatt ein Ereignis zu versenden. Dies funktioniert gut, wenn Sie die Kontrolle über den auszuführenden Code haben, aber siehe unten für Fälle, in denen Sie den Code nicht besitzen.
window.onresize = doALoadOfStuff;
function doALoadOfStuff() {
//do a load of stuff
}
In diesem Beispiel können Sie die doALoadOfStuff
Funktion, ohne ein Ereignis auszulösen.
In Ihren modernen Browsern können Sie das Ereignis auslösen verwenden:
window.dispatchEvent(new Event('resize'));
Dies funktioniert nicht im Internet Explorer, wo Sie die Eingabe per Hand vornehmen müssen:
var resizeEvent = window.document.createEvent('UIEvents');
resizeEvent.initUIEvent('resize', true, false, window, 0);
window.dispatchEvent(resizeEvent);
jQuery hat die trigger
Methode die folgendermaßen funktioniert:
$(window).trigger('resize');
Und hat den Vorbehalt:
Obwohl .trigger()
eine Ereignisaktivierung mit einem synthetischen Ereignisobjekt simuliert, kann sie ein natürliches Ereignis nicht perfekt nachbilden.
Sie können auch Ereignisse für ein bestimmtes Element simulieren...
function simulateClick(id) {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
var elem = document.getElementById(id);
return elem.dispatchEvent(event);
}