Разрешить скрипты в диалоге jQuery Mobile? - PullRequest
4 голосов
/ 13 ноября 2011

У меня есть страница в jQuery Mobile, которая является главной страницей. У него есть список элементов, и когда вы нажимаете на элемент, он загружает информацию о нем. Для динамической загрузки информации она вызывает внешнюю страницу и выводит ее на экран. На этой внешней странице есть небольшой скрипт, позволяющий пользователю обрабатывать нажатие кнопки (для отправки некоторой информации на сервер).

Когда вы загружаете страницу отдельно, она прекрасно обрабатывает сценарии. Когда вы загружаете его как диалог, скрипты не загружаются.

Я попытался поместить скрипт внутри самой страницы. Я попытался поместить скрипт на главной странице, которая загружает диалог. Ничего из этого не работает. Я отладил консоль и не могу прочитать какие-либо сценарии, относящиеся к диалогу внешней страницы.

Есть ли какая-то хитрость, или диалоги просто игнорируют какие-либо сценарии? Есть ли способ обойти это? Есть ли способ полностью оформить страницу, чтобы она выглядела как диалог, пока эта проблема не будет решена?

Edit: Я просто сделал это без диалога, и он все еще делает это. Если я загружаю страницу отдельно с выключенным AJAX, все работает. Мне нужно сохранить переходы страниц и диалог загрузки, поэтому отключать его нельзя.

Я сейчас использую на внешней странице в заголовке:

<script>
$(document).delegate("#productinfo", "pagecreate", function(){
    //code here
});
</script>

Ответы [ 2 ]

1 голос
/ 25 апреля 2013

Я решил эту проблему, разместив скрипт js на главной странице:

$(document).on("pageinit", "#my-dialog-page-id", function(e) {
    // put your js here
});
1 голос
/ 01 февраля 2013

Публикация ответа, отредактированного в вопросе:

Я получил его, поместив скрипт внутри страницы div:

<div data-role="page" id="productinfo"> <!-- /markup--> </div> 

... и поместивэто в самом конце после всего.

Как только я понял, что это решено, это работало несколько раз, а не другие.Я не мог понять это, пока не понял, что z-индекс кнопки был изменен на 0, чтобы он не имел приоритета над автозаполнением пользовательского интерфейса jQuery всякий раз, когда я выбирал что-то для поля.Я установил z-index на 1 на кнопках (по умолчанию 2, которое переопределяет автозаполнение jQUI на 1), и теперь это похоже на работу.

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

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