Использование прототипа с Jquery
Есть ли способ использовать прототип для сосуществования с Jquery.
Я имею в виду не Jquery с прототипом с тегом Jquery NoConflict, а наоборот.
Я должен переопределить прототипы служебных методов, чтобы сосуществовать с другими библиотеками?
У меня нет контроля над Jquery Scripts
3 ответа
Решение
Когда jQuery включен, он берет копию того, что определено как $
и хранит ссылку на него. Когда вы используете jQuery.noConflict
он восстанавливает эту ссылку и возвращает jQuery
что позволяет "переименовывать" jQuery.
Если вы хотите переименовать Prototype, это должно быть вполне возможно.
// 1. include Prototype
// $ == Prototype
// 2. include jQuery
// $ == jQuery
var jq = jQuery.noConflict();
var $p = $;
$ = jq;
// now, $ == jQuery
// and $p == Prototype
Я просто менял каждый случай $ на pType в прототипе и зависимых библиотеках
Добавил их в качестве вторичных активов для этого варианта использования.
Готово!