JavaScript non dispone dei comodi metodi trigger() e triggerHandler() di jQuery. Per innescare un evento dobbiamo usare un altro approccio.
Consideriamo il seguente codice:
const on = (element, evt, callback) => {
element.addEventListener(evt, callback, false);
};
on(document.getElementById('test'), 'click', () => {
console.log('Test');
});
Abbiamo legato un evento click
ad un elemento. Per innescarlo questa è la procedura:
const evt = new MouseEvent('click');
document.getElementById('test').dispatchEvent(evt);
In pratica abbiamo usato l'oggetto MouseEvent
in combinazione con il metodo dispatchEvent()
. Questa soluzione funziona nei browser più moderni.