Включить сценарии на подстранице с помощью jQuery Mobile? - PullRequest
0 голосов
/ 17 ноября 2011

Я понимаю, что могу обработать pageinit() или другие события, чтобы выполнить JavaScript для вновь загруженной страницы, но для этого требуется, чтобы у меня существовал реальный JavaScript или существовала ссылка на Главная страница .

Как я могу включить сценарии внизу подстраницы и выполнить ее при загрузке страницы?

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

Ответы [ 2 ]

6 голосов
/ 17 ноября 2011

Нашел ответ сам.Похоже, что JavaScript на дочерней странице должен находиться внутри «страницы», а не только внутри тега body:

<body>
    <div data-role="page" data-title="My Subpage">
        <p>Awesome content!</p>
        <!-- DO put your JavaScript here. -->
        <script type="text/javascript">
            alert('This works');
        </script>
    </div>
    <!-- DON'T put your JavaScript here. -->
    <script type="text/javascript">
        alert('This doesn't work');
    </script>
</body>

Совет Pro: Он выглядит как любой скрипт внутритело, но за пределами элемента "Страница", даже на главной странице (первая загруженная страница), не выполняется !!!Поэтому, даже если вы отключили загрузку / переходы AJAX в jQuery mobile, рендеринг страниц по умолчанию все равно убивает эти сценарии.

1 голос
/ 28 ноября 2011

Все, что вы хотите, чтобы JQM загружал, должно быть внутри элемента, как описано в их документации.

Я лично заметил скачки памяти и утечки при загрузке jscript таким образом, казалось, что он никогда не удалялся правильно, создавая дубликаты, если эта страница загружалась снова и снова. Я наконец переместил этот jscript на главную страницу, и мои проблемы исчезли! Конечно, это может быть связано с самим кодом, но он делал много привязок / откреплений событий, и я никогда не был уверен, что JQ фактически удалил пустые ссылки.

В любом случае, только мои $ .02 ...

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