我打算无情地重构我拥有的许多前端代码。 代码已被随意添加,功能已被完全重写,我知道我有很多事件被设置为侦听不存在的元素。
有没有办法找到将jQuery事件附加到不存在的元素的代码? 希望找到不再使用的事件,而无需手动浏览所有代码。
可能的调试步骤是使用如下所示的调试版本重写 on
方法。它将列出元素集为空的事件注册尝试以及用于查找代码的跟踪。
(function(){
var old = $.fn.each;
$.fn.each = function(){
if(this.length == 0){
console.debug('non-selector', this.selector)
console.trace()
}
return old.apply(this, arguments);
}
})();
演示:小提琴