Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 在jQuery中列出所有实时事件_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery中列出所有实时事件

Javascript 在jQuery中列出所有实时事件,javascript,jquery,Javascript,Jquery,如何在jQuery中找到与特定元素的live绑定的事件 假设我有一个函数,randomFunction,它从函数数组中返回一个随机函数。如何找到已绑定到某个元素的函数 var arrayOfFunctions = []; //a whole bunch of functions function randomFunction(array){}; //returns one of those functions $('#certain_element').live('click', randomF

如何在jQuery中找到与特定元素的live绑定的事件

假设我有一个函数,
randomFunction
,它从函数数组中返回一个随机函数。如何找到已绑定到某个元素的函数

var arrayOfFunctions = []; //a whole bunch of functions
function randomFunction(array){}; //returns one of those functions
$('#certain_element').live('click', randomFunction(arrayOfFunctions));

$(“#某些_元素”)
live
绑定的函数对应的数组索引是什么?

请查看。当我上次使用它时,需要为当时最新版本的jQuery稍微修改一下它,但它应该给你一个方向。

有一个漂亮的bookmarklet,它显示了将被调用的代码

但是,由于您真正调用的是随机函数,如果您只是在测试,那么可能会执行一些简单的操作,比如包括一个警报(“函数名”)或colsone.log(“函数”)。

好吧,找到答案。 对于
单击
事件,对于
$(“#某些_元素”)
,将每个绑定的索引记录到控制台:

var relevantHandlers = $.map($(document).data('events').live, function(value){
  if(value.origType == 'click' && value.selector == '#certain_element'){
    return value.handler;
  }
}; //all handlers for #certain_element bound to click by live.
$.each(relevantHandlers, function(){
  console.log("the index is: " + $.inArray(this, arrayOfFunctions));
});

这将处理与
绑定的正常事件。单击
绑定
,但不是
.live
整洁的bookmarklet,但对于
live
绑定,它会突出显示整个文档,但不提供有关触发事件的目标的信息。啊,这很有意义。。。.live()事件在调用.live触发器之前冒泡到根元素。我以为我可以在带有.live()绑定的标记上看到可视事件,但结果是我将一个委托()附加到锚所在的
    上。成功了。