只是为了结束这个问题,因为聊天中发生了故障排除,因为它需要太多来回......
每个人都是对的,代码运行良好。OP 的问题是另一个代码正在添加一个 eventListener。这无法跟踪,因此只有源文件挖掘才能使其出现。如果整个应用程序使用 jQuery,那么 jQuery 知道它附加的所有事件,因此类似于建议的故障排除的东西会显示事件,然后帮助挖掘添加/删除的行:$._data( $("a")[0], "events" );
如果像 OP 一样,您最终得到的代码是您不知道使用 addEventListener 添加普通(普通)JS 事件的,则无法列出元素的 eventListener,因此调试不是那么容易。不过,一个小型原型 hack 可以帮助您,将此代码添加为页面执行的 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]);
};