Trigger click event: addEventListener is not triggered

Viewed 3430

I'm wondering why a addEventListener("click", function(){}) is not called when triggered by a jQuery .trigger("click") but it IS called when triggered by a dispatchEvent(new Event("click")).

var el = document.getElementById("foo");

$(el).click(function() { console.log("jquery click"); });
el.onclick = function() { console.log("onclick"); };
el.addEventListener("click", function() { console.log("addEventlistener click"); });

$(el).trigger("click");
console.log("--------");
el.dispatchEvent(new Event("click"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#foo" id="foo">foo</a>

This produces the following console output

(index):54 jquery click
(index):55 onclick
(index):59 --------
(index):54 jquery click
(index):55 onclick
(index):56 addEventlistener click

Am I missing something? Does jQuery "fake" a click by calling it's event listeners directly?

2 Answers
Related