JQuery不推荐使用的委托()的替代方法是什么?

时间:2014-06-05 11:06:50

标签: javascript jquery delegates

我问了一个关于从一个类向它的父类发送数据的问题(我知道js没有类,但我使用了原型)。

Sending data from classes?

建议使用委托。

我阅读了更多关于委托的内容,并在jquery文档中找到了它已经过时了。那么我应该使用什么?上?如果是这样,我的例子会如何运作? .on的所有示例都指的是按钮或dom元素。

1 个答案:

答案 0 :(得分:4)

来自jQuery Doc:

  

从jQuery 1.7开始,.delegate()已被.on()方法取代。但是,对于早期版本,它仍然是使用事件委派的最有效方法。

所以,它并没有过时,只是在新版本中首选另一种方法。 AFAIK仍然存在向后兼容性。

事实上,较新的jQuery版本中的delegate()方法调用on()方法,但会切换参数。

Delegate in jQuery 1.7+

function (selector, types, data, fn) {
    return this.live(types, data, fn, selector);
}

TL; DR:对于1.7之前的jQuery版本,请使用delegate()。对于较新版本,请使用on()