Ajax中主頁加載分頁面後,分頁面js腳本不執行的解決辦法

沒看懂,稍後再看

Ajax中主頁加載分頁面後,分頁面js腳本不執行的解決辦法

最近搗鼓JQuery,其中強大的Ajax系列函數使人印象深入,因此作項目時堅決果斷地採用了一下該技術,在主頁中動態加載分頁面進來,咋看效果 不錯,都能實現了第一層次的加載,但深刻下去問題就出來了:動態加載進來的頁面中外聯了js文件,其中的腳本卻沒有在加載後運行! (腳本在單獨瀏覽該分頁面時運行是正常的)javascript

我鬱悶了,打開Firefox中的Firebug查看了加載後的主頁面中的DOM,全部元素的加載都是正常的啊~css

本身改來改去一個個參數試都過了,在網上也找了半天,都沒能解決問題。後來一想,咱把外聯的js文件的腳本改爲內聯試試,一試,Ok了!加載進來的分頁面終於能正常執行JQuery的函數!html

還有,主頁面加載了JQuery庫就能夠了,分頁面是不須要加載庫的,由於分頁面是集成到主頁面的DOM中的,將和主頁面共享同一個庫腳本。java

貼一貼代碼,讓你們看得明白點:jquery

問題解決前:app

(分頁面)函數

<html>
<head>
    <title>AccountPage</title>
    <link href="../Global.css" rel="stylesheet" type="text/css" />
       <script type="text/javascript" src="../js/jquery.min.js"></script>    <!--JQuery庫,你懂的-->
       <script type="text/javascript" src="../js/Global.js"></script>  <!--外聯的js文件-->
</head>
<body>   
 <div id="accountPage">
    <a id="modify">修改</a>
 </div>
</body>
</html>
spa

(分頁面外聯的js腳本).net

$(document).ready(function () {component

                                        $("#modify").click(function(){

                                              alert("This is alerted from AccountPage !");                             //分頁面加載進主頁後,這段代碼並

                                              $("#accountPage").append("<a href='#' >GooodWork</a>"); // 沒有定期望運行

  });     

 

                                       

});

(主頁的Ajax加載腳本)

$(document).ready(function () {

                           $("#account").click(function () {                                                                       
                                                     $("#detail").load('component/accountPage.html');    })

});

解決後(只改了分頁面):

(分頁面)

<html>
<head>
    <title>AccountPage</title>
    <link href="../Global.css" rel="stylesheet" type="text/css" />

         <script type="text/javascript">
          {
             $("#modify").click(function(){

                           alert("This is alerted from AccountPage !");  

                           $("#accountPage").append("<a href='#' >GooodWork</a>"); 

             });     
           }
         </script>

</head>
<body>   
 <div id="accountPage">
    <a id="modify">修改</a>
 </div>
</body>
</html>

 

其實有點囉嗦了,一句話:要在Ajax加載進來的分頁面運行的腳本,不能外聯,必須內聯!

Only  you~can take me 取西經~~~

相關文章
相關標籤/搜索