Большинство тех, кто идет по этому пути, либо заканчивают разработкой собственной системы управления событиями (что не так сложно, но раздражает), либо работают в рамках доступных возможностей.
Если бы все браузеры поддерживали одну модель (скажем, модель событий W3C), жизнь была бы приятной.Но они этого не делают.И не только это, некоторые браузеры отказываются реагировать на программные события так же, как «реальные» события.например, отправка события click с использованием displatchEvent по ссылке в Firefox не приведет к тому, что браузер перейдет по этой ссылке (но запустит прослушиватель onclick, если он есть).Большинство других браузеров будут следовать по ссылке.
IE не поддерживает dispatchEvent до версии 8 (возможно, 9 делает), он имеет fireEvent , который похож, но отличается.
HTML5 (который пока не является стандартом, может быть, никогда не будет) представил метод click для интерфейса HTMLElement , однако он еще не полностью реализован.и на него нельзя положиться.Скорее всего, его можно использовать для сред, в которых вы знаете или можете контролировать версии браузера, которые будут использовать страницу.
Вы также можете просто вызвать свойство onclick элемента, если назначен слушательв собственность или в строку, но, конечно, это не похоже на реальное событие.
Полезное сообщение о dispatchEvent на clj .