Прототип и вмешательство jQuery - PullRequest
0 голосов
/ 17 марта 2009

У меня много кода jquery и небольшого скрипта .js, использующего прототип

Проблема в том, что когда я пытаюсь вызвать метод $$ в прототипе, я получаю сообщение об ошибке: $$ не определено

Так что мне нравится знать метод длинных рук, чтобы получить $$ work

$$('table.'+triggerClass).each(function(t){

есть ли способ заставить эту часть кода использовать прототип, как это можно сделать в jquery jQuery.noConflict();

Ответы [ 3 ]

1 голос
/ 17 марта 2009

Я не уверен, есть или нет длинная версия $$ () для прототипа. Однако мой совет вам не использовать jQuery и Prototype. Я говорю это по нескольким причинам:

  1. jQuery и Prototype - довольно большие библиотеки, что означает большую загрузку для ваших пользователей
  2. jQuery и Prototype имеют много совпадений в функциях, и могут возникнуть проблемы с конфликтами, как у вас сейчас.

Я бы посоветовал вам переписать маленький js-скрипт, использующий прототип для использования jQuery. (Не то чтобы я рекомендовал одно из другого, просто учитывая ваши обстоятельства, это то, что я бы сделал)

0 голосов
/ 17 марта 2009

$$() - это функция-прототип, поэтому, если вы попытаетесь оставить код «как есть», вы не сможете заставить его работать *. Если вы можете изменить свой код (и перевести JQuery в режим без конфликтов):

JQuery('table.'+ triggerClass).each(function(t){})

Но, опять же, если вы не активировали режим конфликта, нет никаких гарантий, какая библиотека будет обслуживать $().

* Я полагаю, теоретически, если вы действительно хотите оставить резервирование, вы можете отобразить $$ () на JQuery () с риском поломки в вашем прототипе кода.

0 голосов
/ 17 марта 2009

Как сказал другой ответ, старайтесь не использовать оба. Прототип отлично подходит для легких вещей, jquery для более сложных вещей.

Как говорится, вы повторно создаете jQuery для избавления от конфликтов:

jQuery.noConflict();

, а затем просто назначьте объект jQuery новой переменной. Смотри здесь .

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