使用jQuery Mobile在子页面上包含脚本?

Joh*_*ski 0 javascript jquery jquery-mobile

我知道我可以处理pageinit()或者其他事件来为新加载的页面执行JavaScript,但这需要我存在实际的JavaScript或者从Main页面引用.

如何在子页面底部包含脚本,并在页面加载时执行?

我试图将子页面的函数设置为全局变量(我知道它很脏),但即便如此也不行.

Joh*_*ski 6

我自己找到了答案.看起来子页面上的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>
Run Code Online (Sandbox Code Playgroud)

专业提示: 它看起来像身体内的任何脚本,但在"Page"元素之外,即使在主页面(第一个加载的页面),也不会被执行!因此,即使您禁用了jQuery mobile的AJAX加载/转换,默认页面呈现仍然会杀死这些脚本.