Я нашел эту проблему, это было связано с противоречивыми версиями JQuery.
В основном Друпали нагрузки 1.4.4, но я хочу использовать 1.8.3, так что я что-то вроде этого:
var drupalsJQuery = jQuery;
// Load jq.1.8.3.js
// Load jq.ui.1.9.2.js
// MY CODE GOES HERE
$ = jQuery = drupalsJQuery; // Restore $ and jQuery to their original value (the jQuery object of Drupal's version of jQuery (1.4.4))
В моем коде ЗДЕСЬ раздел, если я пишу console.log($().jquery);
, он печатает out 1.8.3
, что я и хочу, поэтому я думал, что мои конфликты в версии закончились. Я не заметил, что это не всегда работает. Возьмем такой пример (все еще в мой код здесь идет раздел):
console.log($().jquery);
// Prints 1.8.3
$(document).ready(function() {
console.log($().jquery);
// Prints 1.4.4 !!!!
});
Как вы можете видеть, изменения версии внутри $(document).ready(function() { /*HERE*/ });
решение было передать объект JQuery в качестве параметра к анонимная функция:
console.log($().jquery);
// Prints 1.8.3
$(document).ready(function ($) {
console.log($().jquery);
// Prints 1.8.3 !!!!
});
Теперь версия остается верной.
Я не могу правильно объяснить это поведение, так что, может быть, кто-то может придумать лучший ответ, основанный на этих выводах ... Другая проблема заключается в том, что мой первоначальный вопрос был рядом с точкой в конце концов .. Не слишком уверен, что сделать это, чтобы сделать это релевантным для других пользователей.
Вы уверены, что используете jQuery UI? – j08691
Нет, это прекрасно работает. Что такое HTML-метка? И да, это делается точно так же. Также просто обратите внимание на то, что вы добавляете скрипты в правильном порядке. Я разобрал это однажды и получил такую ошибку раньше. – defaultNINJA
@ j08691 Да, на самом деле, если я включаю jQuery-1.4.4, а не jQuery-1.8.3, я не получаю никаких ошибок. – Shawn