Шаг 26.
Библиотека jQuery.
События. Сосуществование с другими библиотеками

    На этом шаге мы рассмотрим проблемы, связанные с одновременным использованием нескольких библиотек.

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

    К счастью, библиотека jQuery предоставляет на этот случай метод с именем .noConflict(), возвращающий контроль над идентификатором $ обратно другим библиотекам. Обычно метод .noConflict() используется, как показано ниже:

  <script src="prototype.js" type="text/javascript"></script> 
  <script src="jquery.js" type="text/javascript"></script>
  <script type="text/javascript">
      jQuery.noConflict(); 
  </script> 
  <script src="myscript.js" type="text/javascript"></script>

    Сначала выполняется подключение другой библиотеки (в данном случае библиотеки Prototype). Затем подключается сама библиотека jQuery и получает контроль над идентификатором $. После этого вызывается метод .noConflict(), который освобождает идентификатор $, благодаря чему контроль над ним возвращается первой подключенной библиотеке (Prototype). Теперь внутри своих сценариев мы можем использовать обе библиотеки, но при этом всякий раз, когда потребуется вызвать метод из библиотеки jQuery, нам придется вместо идентификатора $ применять идентификатор jQuery.

    Метод .ready() обладает еще одной хитрой особенностью, способной оказать нам помощь в подобной ситуации. Функция обратного вызова, что передается этому методу, может принимать единственный аргумент - сам объект jQuery. Это позволяет эффективно переименовать его, не опасаясь возможности появления конфликтов:

jQuery(document).ready(function($) {
  // Здесь можно использовать идентификатор $ как обычно!
});

    Или используя более краткую форму записи, изученную выше:

jQuery(function($) {
  // Программный код, использующий идентификатор $.
});

    На следующем шаге мы рассмотрим простые события.




Предыдущий шаг Содержание Следующий шаг