如何替换使用'on'的Jquery插件调用?

时间:2012-03-07 12:10:12

标签: jquery jquery-plugins

我有一个使用很多插件的项目。但是,有些依赖于旧版本的JQuery。我打算使用的插件依赖于JQuery 1.7,因为它使用'on'进行事件绑定。

如何修改插件以便它可以与JQuery 1.6一起使用?如果我升级到JQuery 1.7,它将破坏我的项目中依赖于插件的其他部分。或者有更好的方法来处理这种情况吗?

2 个答案:

答案 0 :(得分:0)

  

从jQuery 1.7开始,.delegate()已被.on()方法取代。但是,对于早期版本,它仍然是使用事件委派的最有效方法。有关事件绑定和委派的更多信息在.on()方法中。

http://api.jquery.com/delegate/

我会尝试改变较旧的插件以使用1.7+。似乎更有价值。

答案 1 :(得分:0)

您必须查看每个来电以确定,但您可以轻松地使用on()替换delegate()来电(特别是当on()用于新添加的元素时

 .delegate( selector, eventType, handler(eventObject) )

 .on( events [, selector], handler(eventObject) )

基本上你必须切换前两个参数。否则你只需为插件加载jQuery 1.7并使用$.noConflict(true)

    $jq = $.noConflict(true);
    //replace all $ in the plugin with $jq