14 марта 2011 г.

Drupal & jQuery - Firebug error '$ is not a function'

Столкнулся с проблемой при добавлении своего кода jQuery в Drupal - FireBug показывает ошибку '$ is not a function', хотя выглядит всё правильно.
Решение оказалось элементарным: нужно использовать 'jQuery()' вместо '$()', т.е. если Ваш код выглядел, к примеру, так:
$(document).ready(function(){
  $('#block-search-form input.form-text').autofill({
    value: Drupal.t('Search...'),
 });
});
перепешите его следующим образом:
jQuery(document).ready(function(){
  jQuery('#block-search-form input.form-text').autofill({
    value: Drupal.t('Search...'),
 });
});
или можно экранировать функцию '$()' записав наш исходный код следующие образом:
(function($){
  $(document).ready(function(){
    $('#block-search-form input.form-text').autofill({
      value: Drupal.t('Search...'),
    });
  });
})(jQuery);
и всё заработает!

Комментариев нет:

Отправить комментарий