Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解在JavaScript(IE)中的某个事件上调用了什么函数_Javascript_Jquery_Debugging - Fatal编程技术网

了解在JavaScript(IE)中的某个事件上调用了什么函数

了解在JavaScript(IE)中的某个事件上调用了什么函数,javascript,jquery,debugging,Javascript,Jquery,Debugging,我有以下场景-我有一些布局,其中包含大量JavaScript。假设它是由一家外部公司提供的,我必须自己理解它。有没有办法获取在某个事件中调用的函数的名称?我的意思是我点击按钮1,然后点击按钮2,我在控制台中得到了类似的东西: 按钮1.onClick 按钮2.onCLick someEventHandlerOnClick 在每个方法中不需要手动编码console.log,是否可以获得这种行为?是否有用于此的探查器或工具 特别是我很高兴看到在单击或其他事件之后调用了什么jQuery事件处理程序。您可

我有以下场景-我有一些布局,其中包含大量JavaScript。假设它是由一家外部公司提供的,我必须自己理解它。有没有办法获取在某个事件中调用的函数的名称?我的意思是我点击按钮1,然后点击按钮2,我在控制台中得到了类似的东西:

按钮1.onClick

按钮2.onCLick

someEventHandlerOnClick

在每个方法中不需要手动编码console.log,是否可以获得这种行为?是否有用于此的探查器或工具

特别是我很高兴看到在单击或其他事件之后调用了什么jQuery事件处理程序。

您可以尝试以下方法:

$.each($._data($("#elementID")[0], "events"), function(i, event) {
  console.log(i);
  $.each(event, function(j, h) {
       console.log(h.handler);
  });
});
这将把所有有界事件输出到id为elementID的元素。

如果您使用的是firebug,您可以看到每个DOM元素的事件侦听器。@qtgye谢谢。我以前从未用过Firebug,即使我听说过。然而,这并不完全是我所寻找的。此外,我想特别为IE找到一些工具。谢谢,但它只为单个元素生成输出,而不是页面上的每个元素。您需要分别为您想要的每个元素生成输出。没有办法把所有元素都放在一起!这是非常糟糕的方法。在应用程序的调试模式中,您应该选择一个元素,并使用上述方法检查所有绑定到该元素的事件。然后您可以选择其他元素并重复此方法。页面上的每个元素都没有任何自动方式!你需要自己做一些工作!