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

时间:2016-09-03 06:25:57

标签: javascript jquery

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

这是添加定义的方式

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);

我想要一个解释

1 个答案:

答案 0 :(得分:2)

内部使用

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() here on Github的jQuery 3.x源代码,并且对该代码的检查确认它正在添加事件侦听器并更新jQuery的内部数据结构以跟踪事件处理程序