$(...).dialog не является функцией: невозможно отследить источник ошибки jQueryJquery

Программирование на jquery
Ответить
Гость
 $(...).dialog не является функцией: невозможно отследить источник ошибки jQuery

Сообщение Гость »


Некоторое время назад я написал код, отображающий частичное представление в виде всплывающего окна. В том старом случае я написал HTML и JavaScript с нуля, и это сработало.

Для этого я использую «диалог».

$('#UserChangePassword').dialog({ zИндекс: 9998, модальное: правда, перетаскиваемый: правда, изменяемый размер: ложь, позиция: ['центр', 'центр'], показать: «слепой», скрыть: «слепой», ширина: «авто», высота: «авто», диалогкласс: 'ui-dialog-osx', открыть: функция (событие, пользовательский интерфейс) { $("span.ui-dialog-title").dir = "rtl"; $("span.ui-dialog-title").text("משתמש פורטל") //если (обратный вызов!= не определено) { // перезвонить() //} }, закрыть: функция () { } }); } Однако теперь, когда я пытаюсь добавить ту же функцию (всплывающее окно) в существующий код, написанный ранее кем-то другим, я получаю сообщение об ошибке «$(...).dialog не является функцией».< /п> Я уже пытался провести некоторое исследование по этому поводу. Насколько я понимаю, это может быть вызвано либо тем, что jQuery вообще не загружен, либо jQuery загружен более одного раза.

HTML из кода, который работает — в главном окне есть следующее:

src = "/Scripts/old_script.js" @section ClientScripts{ [*] @(Html.Telerik().ScriptRegistrar().Globalization(true).Scripts(group => group.AddSharedGroup("SharedScripts") .AddSharedGroup("TelerikScripts") .AddSharedGroup("Сценарии счетов"))) } html идет сюда @Html.Partial("ИзменитьПароль") HTML из работающего кода – частичное представление: (да, он тоже использует Telerik, и это работает)

@section ClientScripts { @(Html.Telerik().ScriptRegistrar().Globalization(true).Scripts(group => group.AddSharedGroup("SharedScripts") .AddSharedGroup("TelerikScripts") .AddSharedGroup("TerminalWorkstationScripts"))) } htmll идет сюда Главное окно, куда я хочу это добавить:

@section ClientScripts { @(Html.Telerik().ScriptRegistrar().Globalization(true).Scripts(group => group.AddSharedGroup("SharedScripts") .AddSharedGroup("TelerikScripts") .AddSharedGroup("WorkstationScripts"))) } И отдельно от него:

@(Html.Telerik().ScriptRegistrar().jQuery(false).OnDocumentReady(@"twCreatePopup.init();twCreatePopup.whenPopupEnter();")) Похоже, что тот, кто работал над этим до меня, имел свой собственный способ отображения всплывающих окон, отсюда и эти функции. Я предпочитаю НЕ трогать его часть, просто чтобы мой код работал вместе с его.

Может ли быть причина в том, что здесь скрипты Телерика загружаются/обращаются дважды? Может их можно объединить в одну команду?

Что я пробовал:

Добавление блока Telerik в html частичного окна, пробовал с ним и без - без изменений
[*]
Попробовал скопировать весь блок ClientScripts из старого главного окна в новое, попробовал закомментировать/снять комментарии части строк - без изменений
[*]
Отключение одного из объявлений сценария Telerik в html нового окна – очевидно, это вызывает проблемы с существующим кодом
[*]
Пытался вызвать саму функцию в JavaScript двумя способами:

$('#Button').click(function () { alert(document.getElementById('ConfirmCode').dialog); $('#ConfirmCode').dialog.dialog('open'); } И вот так:

$(функция () { $("#ConfirmCode").dialog( { автооткрытие: ложь }); $("#Button").click(function () { предупреждение(1); $("#ConfirmCode").dialog('open'); }); }); Ошибка все еще существует.
[*]Использование «$.noConflict()»
Здесь результаты были самыми странными. Я пробовал использовать их в обеих версиях функций: перед именем функции или внутри нее, перед командой «открыть диалог». Он по-прежнему не показывает всплывающее окно, но в дополнение к нему: Открывает новое окно с какой-то ошибкой, написанной в формате json, или заранее созданная (не моя) функция всплывающего окна, кажется, бесконечно запускается снова и снова - это я вижу в «проверке». Во втором случае все зависает и приходится перезагружать страницу.
[*]Я попробовал разместить функцию «щелчок», которая должна открывать всплывающее окно, внутри функции «init», а вне ее, она работает только изнутри.
Что может заставить один и тот же код работать в одном случае, но не в другом?

Если это jQuery, как я могу отследить проблему: он загружается дважды или не загружается вообще?

Пожалуйста, помогите!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»