Come possiamo scrivere l’equivalente del metodo .click() di jQuery, simulando di fatto un click?

Cercando in rete si scopre facilmente che esiste già un metodo HTMLElement.click() che simula appunto l’azione dell’utente. Il brutto è che, però, potrebbe comportarsi non esattamente come ci aspettiamo, almeno non con la semplicità offerta da jQuery. In ogni caso, il metodo click()  non può essere triggato su un elemento <a> , che immagino sia spesso quello che vorremmo fare.

Vediamo quindi come utilizzare allora le API MouseEvent di JavaScript per costruire un metodo alternativo funzionante:

Per utilizzarlo, chiamiamo la funzione simulateClick  passandogli l’elemento sul quale simulare il click:

Ps. funziona con Internet Explorer dalla versione 9 in poi.