jQuery UI 1.7.3 datepicker конфликтует с date.js, вызывая слишком большую рекурсию?

Я пытаюсь использовать виджет jQuery UI 1.7.3 datepicker в диалоговом окне пользовательского интерфейса jQuery. Содержимое диалогового окна взято из шаблона страницы, который включает в себя все различные импорты javascript, необходимые для работы страницы. Одна из вещей, которую я также импортирую, — это знаменитый файл date.js.

Эта страница, которую я загружаю в диалоговом окне, также существует сама по себе как отдельная страница. Datepicker работает как шарм там. Все ломается, когда я загружаю его в диалоговом окне. Когда основное внимание уделяется полю ввода даты, должно появиться средство выбора даты. Однако я получаю отвратительную ошибку, например:

too much recursion
[Break on this error] return w;};Date.prototype.isDST=function...ase"z":return"";}}):this._toString();};\n

Календарь средства выбора даты не отображается, и я получаю 1 ошибку в своем firebug, говоря, что это date.js, которого тошнит. В прошлом я сталкивался с подобными проблемами, связанными со слишком большой рекурсией, но я никогда не был уверен, как исправить такие ошибки.

Может кто-нибудь сказать мне, в чем дело?


person Mark    schedule 11.11.2010    source источник
comment
Я столкнулся с этой проблемой, когда по ошибке передал строку, содержащую элементы html, где ожидается одно значение. jQuery начинает анализировать это, и стек рекурсии js превышает. Просто указатель поможет вам отладить код.   -  person Ajaxe    schedule 03.02.2011


Ответы (2)


Я успешно использую средство выбора даты в модальном диалоговом окне jqueryui версии 1.8.9. Но я включаю .js как «все в одном».

Вы должны попытаться обновить jqueryui или использовать полный пакет в виде одного файла для тестирования, и если это не сработает, предоставьте неудавшийся тестовый пример, чтобы мы могли его посмотреть.

person Markus    schedule 29.01.2011

Я использую jQuery UI 1.7.3 и date.js для модального окна, и у меня была такая же проблема. Я отправлял все скрипты, необходимые для отдельной страницы и для диалога, за один раз, но это означало, что некоторые из одних и тех же скриптов фактически дублировались из главного окна приложения в диалог. Удаление ссылок на дублированные скрипты (для диалога) устранило проблему.

По сути, Date.js загружался дважды, и исправление решило проблему.

person Joshua Smith    schedule 20.06.2011