Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
指向一个jQuery文件的所有JavaScript事件侦听器?[WordPress]_Javascript_Jquery_Ajax_Wordpress - Fatal编程技术网

指向一个jQuery文件的所有JavaScript事件侦听器?[WordPress]

指向一个jQuery文件的所有JavaScript事件侦听器?[WordPress],javascript,jquery,ajax,wordpress,Javascript,Jquery,Ajax,Wordpress,WordPress站点上的所有JavaScript事件侦听器都指向“jquery.min.js”文件中的相同代码片段: function(a) { return "undefined" == typeof n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments) } 我还有其他带有事件侦听器的JavaScript文件。然而,Chrome和Firefo

WordPress站点上的所有JavaScript事件侦听器都指向“jquery.min.js”文件中的相同代码片段:

function(a) {
  return "undefined" == typeof n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments)
}

我还有其他带有事件侦听器的JavaScript文件。然而,Chrome和Firefox都不再显示它们了?是什么导致了这种情况?

如果使用jQuery添加事件侦听器,jQuery会附加自己的事件调度函数作为元素的事件侦听器,并将事件侦听器添加到它维护的事件调度表中。当事件发生时,将调用jQuery的事件分派函数,并在事件分派表中查找事件侦听器并调用这些事件侦听器

在做了一些研究之后,我找到了jQuery事件调度表的数据结构

为了让browser developer工具显示由jQuery添加的事件监听器,而不是直接连接的jQuery分派函数,它必须找到并理解这些jQuery事件分派表。如果无法找到或理解这些jQuery事件分派表,那么浏览器开发人员工具可能会放弃,将jQuery分派处理程序显示为普通的DOM事件侦听器,而不是事件分派表中的条目

通过运行console命令,可以转储元素的首次单击事件分派表条目:

jQuery(this).data('events').click[0]
在我的jQuery浏览器v1.12.4中显示:

data: undefined
​
guid: 202
​
handler: function submitButtons()
​
namespace: "edit-post"
​
needsContext: undefined
​
origType: "click"
​
selector: undefined
​
type: "click"
​
<prototype>: Object { … }
数据:未定义
​
guid:202
​
处理程序:函数submitButtons()
​
命名空间:“编辑帖子”
​
需求上下文:未定义
​
原始类型:“单击”
​
选择器:未定义
​
键入:“单击”
​
:对象{…}

通过在元素的单击事件侦听器代码中为该元素设置断点并在控制台中运行上述命令,可以在浏览器中对具有单击事件处理程序的元素尝试此操作。我的猜测是,事件分派表的结构不同,浏览器开发人员工具要么找不到jQuery事件分派表,要么无法理解事件分派表的结构。jQuery在发布新版本时,有时会更改此数据结构。

嗨,品红色,感谢您的帮助。我发现一些jQuery脚本是在我不知情的情况下添加到网站上的。看来这些脚本可能覆盖了WordPress最初的jQuery版本,包括我的自定义脚本?