Как избежать конфликта между JQuery и прототипом
Если на странице есть как JQuery, так и Prototype, тогда у меня возник конфликт. Существует опция отключения знака $для JQuery, поэтому конфликта нет, но я должен использовать ключевое слово JQuery вместо $.
Интересно, есть ли опция Prototype для разрешения этого конфликта. Есть ли способ использовать обе библиотеки без ущерба для их преимущества или короткого ключевого слова?
Насколько я знаю, не рекомендуется использовать несколько JS-библиотек для одной и той же страницы; но иногда это может быть полезно.
Ответы
Ответ 1
Используйте метод noConflict для jQuery и назначьте его новой (короткой) переменной. Используйте новую переменную везде, где бы вы не использовали $for jQuery.
var $j = jQuery.noConflict();
$j(function() {
$j('#selector').each( .... );
});
или, если вам не нужно смешивать Prototype/jQuery, вы можете обернуть весь ваш код jQuery анонимной функцией.
(function($) {
// $ sign here is a parameter, which is set to jQuery
$(function() {
$('#selector').each( .... );
});
})(jQuery);