JQuery страница навигации динамическая проблема загрузки JS

Я использую навигацию по страницам, и для этого я использую событие.live pageshow, как это

$('#watchlist').live('pageshow', function(event) {
        watchList();
    });

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

Я просто хочу загрузить динамические шаблоны с помощью js, что не все файлы js на странице индекса, потому что где-то конфликтует

1 ответ

вступление

Этот ответ является ответом на комментарий

Msgstr "Мне просто нужна навигация по страницам с другой HTML-страницей, включая разные файлы js и css. Вот и все."

Чтобы понять этот ответ, давайте обсудим, как работает jQuery Mobile. Он использует AJAX для загрузки других страниц в DOM,

Первая страница загружается нормально. это HEAD а также BODY загружается в DOM и они там, чтобы ждать другого контента. Когда загружена вторая страница, только ее BODY содержимое загружается в DOM,

Решения

Здесь есть 2 решения:

Решение 1

На второй странице и на каждой другой странице переместите SCRIPT, LINK а также STYLE теги в BODY содержание, как это:

<body>
    <script>
        // Your javascript will go here
    </script>
    <link rel="stylesheet" href="some.css" />
    // And rest of your HTML content
</body>

Это быстрое решение, но для меня это уродливое решение.

Решение 2

Используйте rel="external" в своих кнопках и во всех элементах, которые вы используете для изменения страницы. Из-за этого ajax не будет использоваться для загрузки страниц, и ваше мобильное приложение jQuery будет вести себя как обычное веб-приложение.

<a href="#second" class="ui-btn-right" rel="external">Next</a>

Официальная документация, ищите главу: Связывание без Ajax. К сожалению, из-за этого мобильное приложение потеряет переходы страниц.

Другие вопросы по тегам