[РЕШЕНО]не работает query

Главные вкладки

Аватар пользователя zlodiak zlodiak 8 ноября 2013 в 11:15

прошу помощи отчасти телепатической. поэтому не обижусь, если останусь без ответа

пишу модуль. решил подключить простенький jquery-скрипт. в друпал по умолчанию есть библиотека jquery 1.4. я на всякий случай через jquery update подключил версию 1.8

далее в .info модуля подключаю файл helper.js , в котором мой простенький jquery-скрипт

<?phpname = news_tape
description = news_tape
core = 7.x
package = news
configure = admin/config/user-interface/news_tape

stylesheets[all][] = css/news_tape.css

;scripts[] = js/jquery/jquery.2.min.js
scripts[] = js/helper/helper.js?>

содержание файла helper.js следующее

console.log(123);

(function ($) {
        jQuery('ul, body').css('background', 'red');
       
        $('ul, body').css('background', 'red');
})(jQuery);

console.log(444);

в результате при перезагрузке страницы консоль firebuga выводит только
«123
444»

получается, что jquery скрипт не работает. я не понимаю почему. объясните пожалуйста...

Комментарии

Аватар пользователя sergeybelya sergeybelya 8 ноября 2013 в 11:40

"я на всякий случай через jquery update подключил версию 1.8" - зачем? Вы используете плагин, который не поддерживает 1.4.4 Если нет, то отключите этот модуль. А ваш код должен выглядеть так:

console.log(123);

(function ($) {
$(document).ready(function() {
$('ul, body').css('backgroundColor', 'red');
$('ul, body').css('backgroundColor', 'red');
});
})(jQuery);

console.log(444);

Аватар пользователя zlodiak zlodiak 8 ноября 2013 в 11:43

заработало. спасибо огромное))

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

Аватар пользователя sg85 sg85 8 ноября 2013 в 12:49

"zlodiak" wrote:
хотя не совсем понятно почему нужно было дожидаться полной загрузки разметки документа...

а как можно применить действие к элементу, которого еще не существует?

Аватар пользователя Luntik.u Luntik.u 8 ноября 2013 в 12:57

"sg85" wrote:
а как можно применить действие к элементу, которого еще не существует?
Используйте .live

$("selector").live("click", function(){
      alert('BU');
    });

P.S.
Если ваша версия JQ > 1.7 , то в документации советуют использовать .on() вместо live и delegate..