Javascript 是否可以检测哪一行或函数触发了元素上的jquery更改事件?
我知道有手动的方法,我在谷歌上搜索过,但找不到自动的方法 我有一些相当复杂的代码,其中一个元素可以通过jQuery以几种不同的方式进行更改,在整个代码执行过程中的不同时间,由于不同的原因,这取决于不同的事情 我试图找到一个错误更改的问题,并且很难准确确定哪个Javascript 是否可以检测哪一行或函数触发了元素上的jquery更改事件?,javascript,jquery,debugging,onchange,Javascript,Jquery,Debugging,Onchange,我知道有手动的方法,我在谷歌上搜索过,但找不到自动的方法 我有一些相当复杂的代码,其中一个元素可以通过jQuery以几种不同的方式进行更改,在整个代码执行过程中的不同时间,由于不同的原因,这取决于不同的事情 我试图找到一个错误更改的问题,并且很难准确确定哪个change()事件在不应该更改的地方更改 我是否可以临时添加以下内容: $(document).on('change', '.myClass', function (e){ console.log(e.functionOrLineW
change()
事件在不应该更改的地方更改
我是否可以临时添加以下内容:
$(document).on('change', '.myClass', function (e){
console.log(e.functionOrLineWhichTriggerThis);
});
出于调试/故障查找的目的?您可以在希望跟踪的每个函数中定义变量,然后您可以让函数在触发时设置变量。然后,您可以在浏览器控制台中检查变量的值,并找出所使用的函数。您可以尝试创建错误并打印其堆栈跟踪的老技巧:
$(document).on('change', '.myClass', function (e){
var error = new Error();
console.log(error.stack);
});
stack属性不是标准的,但似乎受到主流浏览器的支持。您可以在此处获得更多信息:
虽然看起来有很多工作要做,但我希望jQuery可能有一种内置的功能,可以通过
事件
对象或其他什么来完成这项工作。但是我什么也找不到。我在我的项目中使用了上面提到的方法,它非常完美和整洁。他需要知道触发了哪个函数,而不是关于exceptionNope,这是可行的,堆栈跟踪
追溯到调用生成错误的函数的函数,因此允许我回顾这个问题。非常好的电话,谢谢@jjsanchez