やり取りが多すぎてチャットでトラブルシューティングが行われたため、この質問を終わらせるために...
誰もが正しかった、コードは完全に動作します。OPが抱えていた問題は、別のコードがeventListenerを追加していたことです。これは追跡できなかったため、ソース ファイルを掘り下げることによってのみ出現する可能性があります。アプリケーション全体が jQuery を使用している場合、jQuery はアタッチされているすべてのイベントを認識しているため、提案されたトラブルシューティングに似た方法でイベントを表示し、追加/削除する行を掘り下げるのに役立ちます。$._data( $("a")[0], "events" );
OP のように、addEventListener を使用してバニラ (通常の) JS イベントを追加する知らないコードになってしまった場合、要素の eventListeners をリストする方法がないため、デバッグはそれほど簡単ではありません。ただし、このコードを、ページで実行される VERY FIRST js コードとして追加することで、小さなプロトタイプのハックが役に立ちます (タグに入れるだけです)。
var sourceAEL = Element.prototype.addEventListener;
Element.prototype.addEventListener = function(type, listener){
console.log('Type: '+type);
debug;//Will stop the code from executing allowing debugging in browser console (and thus know what calls it)
sourceAEL.apply(this,[type,listener]);
};