Description
I have been using jQuery for about 9 years, and only just today did I realize that $('#element').trigger('change');
is not equivalent to $('#element')[0].dispatchEvent(new Event('change'));
.
On a careful reading of https://api.jquery.com/trigger/, it does indicate:
Any event handlers attached with
.on()
or one of its shortcut methods are triggered...
However, I wonder if there should be a more explicit callout that listeners for event types added via EventTarget.addEventListener()
are not invoked.
I believe I had my incorrect expectation because I did not realized there was a semantic difference between a DOM EventListener and a jQuery event handler, and because I was already used to using jQuery as a sort of friendly, cross-browser interface for other Web APIs (Noting that new Event()
never received support in IE, for example).