2009-09-02 2 views
1

Я работаю над серверной структурой.Насколько хорошо jQuery сосуществует с другими библиотеками Javascript?

Здесь и там я добавляю javascript с ручной обработкой, чтобы делать что-то на стороне клиента. Однако это становится все более болезненным, и из того, что я слышал, я думаю, что jQuery может помочь.

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

Итак, вопрос в том, насколько хорош jQuery при совместном использовании с другими популярными библиотеками javascript? Будут ли они захватывать глобальные имена и события для своих целей или это относительно уважительный сожительствующий чувак &.

ответ

6

jquery имеет опцию noconflict, которая помогает с ее использованием в других библиотеках.

Вы также можете сравнить, насколько это загрязняет глобальное пространство имен против других библиотек here

Я также не уверен, что вы на самом деле просите, а вы обсуждаете добавление Javascript клиента усовершенствований стороны, но затем, чтобы сказать, что в основном это будет «серверный материал». Что он? В основном клиент или в основном сервер?

+0

интересные вещи. все, что я делаю, это материал на стороне сервера, но есть такие вещи, как ajax, которые по своей сути также являются клиентской стороной, и такие вещи, как валидация, которые лучше всего решать с обеих сторон. – flybywire

+1

В этом случае поддержка jQuery ajax очень проста и проста - ничего захватывающего, но это, безусловно, лучше, чем сворачивать самостоятельно. Проверка очень проста с помощью плагина проверки http://docs.jquery.com/Plugins/Validation, и это отличный плагин. – Steerpike

+0

+1 Это почти то, о чем просил x-x. Я считаю, x-x может создать какой-то интерфейс, который позволяет пользователям вставлять свой собственный JavaScript, что может привести к возникновению проблем с конфликтами библиотек. «Серверная сторона», вероятно, просто ссылается на реальный серверный код x-x, а не на отредактированный пользователем код. –

1

Общепринятый принцип с jQuery - это доступ к нему в рамках анонимной функции. Это предотвращает загрязнение пространства имен. Картина выглядит следующим образом:

// anonymous function that takes the jquery $ object (aka window.jQuery) 
(function($) { 
    $(document).ready(function() { 
     // jQuery code here, call functions, etc 

    }); 
})(jQuery.noConflict()); // removes $ from window scope, returns the jQuery object 

Смотреть еще: http://docs.jquery.com/Core/jQuery.noConflict

1

JQuery имеет две глобальные идентификаторы: JQuery и $

Вы можете изменить его на один идентификатор с помощью jQuery.noConflict(), и то единственным глобальным является jQuery.

Смежные вопросы