Javascript jQuery.event.add()是什么意思?

Javascript jQuery.event.add()是什么意思?,javascript,jquery,Javascript,Jquery,我试图理解在某个网站上找到的javascript代码,我发现了这个命令 来这里之前,我在网上搜索了很长时间 jqueryapi或w3school中没有关于它的内容 这就是add的定义方式 var add = jQuery.event.add; 这是一个如何使用函数的例子 data = { target:e.target, startX:e.pageX, startY:e.pageY, pageX:e.pageX, pageY:e.pageY, t

我试图理解在某个网站上找到的javascript代码,我发现了这个命令
来这里之前,我在网上搜索了很长时间
jqueryapi或w3school中没有关于它的内容

这就是add的定义方式

var add = jQuery.event.add;
这是一个如何使用函数的例子

data = {
    target:e.target,
    startX:e.pageX,
    startY:e.pageY,
    pageX:e.pageX,
    pageY:e.pageY,
    timeStamp:e.timeStamp
};

add(document,mouseevents.move,mousemove,data);
我需要一个解释

jQuery.event.add()
在内部用于添加事件处理程序。例如,它在用于创建事件处理程序的
.on()
内部调用。事实上,jQuery 2.x和jQuery 3.x中
.on()
的最后几行实现如下:

    return this.each( function() {
        jQuery.event.add( this, types, fn, data, selector );
    });
因此,这是向DOM对象和jQuery内部数据结构添加事件处理程序

我不相信
jQuery.event.add()
是在jQuery实现之外调用的

它在jQuery本身中使用的唯一其他位置是在一个函数中,该函数正在克隆一些对象并克隆它们的事件处理程序(它用于在新克隆的对象上定义新的事件处理程序)


您可以查看jQuery.event.add()的jQuery 3.x源代码,检查该代码可以确认它正在添加事件侦听器并更新跟踪事件处理程序的jQuery内部数据结构。

,在jQuery内部之外的代码中遇到这种情况时,最佳做法是将其重构为如下内容:
$(this).on(类型、选择器、数据、fn);因此使用了正确的公共API?@Zarepheth-是的,我想你会想重新编写它来使用公共API。您必须仔细研究代码,以确保您的替代者执行完全相同的操作。