动态Jquery移动页面

时间:2012-04-11 15:32:51

标签: jquery jquery-mobile

我已经设置了一个JqueryMobile应用程序,它可以动态地创建我的脚本提取的一些JSON数据的页面。所有这些页面或内联和拉起来都很好。但是,我需要在这些页面中包含一些JS,但是我编写的任何东西都会在主页面后被忽略。例如,我有一个简单的功能,当点击id为“video”的链接时,它会显示一条警告信息。在我的主页面上,这很好用但不在任何子页面上。如何在所有页面上显示我的脚本?谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

生成动态页面后加载外部javascript

<script id="external_script" type="text/JavaScript"></script>
<script>
    function loadscript(scripturi) {
        document.getElementById('external_script').src = scripturi;
    }
</script>

以生成/加载动态页面后运行的方式运行loadscript(..)。

e.g。

<div id="dynamic-container"><!-- --></div>

$(#dynamic-container).load("url", function() {
    loadscript(dynamicscriptURL);
}); 

OR

使用一个小javascript library提供方便的功能“确保”,允许您按需加载Javascript,HTML,CSS,然后执行您的代码。它不仅可以加载javascript,还可以加载html代码段和css。最好你可以等待它们加载然后调用动态加载的函数。例如,以下加载javascript,一些html代码段,相关的css然后执行仅在脚本动态加载时可用的javascript。

ensure( { js: "popup.js", html: "popup.html", css: "popup.css" }, function()
   {
       PopupManager.show();
   });

答案 1 :(得分:0)

脚本应包含在子页面的页面区域中,否则将不会加载脚本。

<div data-role="page" id="subpage">

    <div data-role="content"></div>

    <script type="text/javascript" src="video.js"></script>

<div>