Нетконфликт JQuery: просто быстрая мысль - PullRequest
8 голосов
/ 23 ноября 2011

В документации сказано, что вы можете использовать $ .noConflict () следующим образом:

jQuery.noConflict();
(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library

В нем также говорится, что его вызов возвращает экземпляр объекта jQuery, поэтому я мог бы сделать это:

jQuery.noConflict()(function(){
    // code using jQuery
}); 
// other code using $ as an alias to the other library

Однако допустима ли эта комбинация?

(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery.noConflict());
// other code using $ as an alias to the other library

Если так, есть ли причина не делать это таким образом? А также (если он работает), почему бы не всегда использовать этот метод, чтобы гарантировать, что внутри нашего замыкания $ == jQuery?

Ответы [ 2 ]

5 голосов
/ 23 ноября 2011

Я не понимаю, почему нет, поскольку jQuery.noConflict возвращает jQuery объект, и он оценивается до вызова функции.

5 голосов
/ 23 ноября 2011

Последний метод также работает - jQuery.noConflict() возвращает объект jQuery, который передается в качестве аргумента $ функции.

Я не вижу причин, чтобы не делать это таким образом, и предпочел бы это другим методам.

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