как я могу заменить вызовы плагинов Jquery, которые используют «вкл»? - PullRequest
1 голос
/ 07 марта 2012

У меня есть проект, который использует много плагинов. Однако некоторые из них зависят от старых версий JQuery. Плагин, который я собираюсь использовать, зависит от JQuery 1.7, так как он использует 'on' для привязки событий.

Как я могу изменить плагин, чтобы он работал с JQuery 1.6? Если я обновлюсь до JQuery 1.7, это сломает другие части моего проекта, которые зависят от плагинов. Или есть лучший способ справиться с этим сценарием?

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Что ж, вы должны смотреть на каждый вызов, чтобы быть уверенным, но вы можете легко заменить 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
0 голосов
/ 07 марта 2012

Начиная с jQuery 1.7, метод .delegate () был заменен методом .on (). Однако для более ранних версий это остается наиболее эффективным средством использования делегирования событий. Дополнительная информация о привязке и делегировании событий содержится в методе .on ().

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

Я бы попробовал изменить старые плагины для работы с 1.7+. Кажется более полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...