首頁  >  文章  >  後端開發  >  javascript - 第二次ajax提取頁面的時候,main.js沒有重新加載,或者說,所有的js都沒有重新加載的問題

javascript - 第二次ajax提取頁面的時候,main.js沒有重新加載,或者說,所有的js都沒有重新加載的問題

WBOY
WBOY原創
2016-08-04 09:20:02897瀏覽

效果圖:
javascript - 第二次ajax提取頁面的時候,main.js沒有重新加載,或者說,所有的js都沒有重新加載的問題
在使用Ajax做抽屜的效果時,第二次ajax提取頁面的時候,js沒有重新加載,怎麼解決這個問題?

回覆內容:

效果圖:
javascript - 第二次ajax提取頁面的時候,main.js沒有重新加載,或者說,所有的js都沒有重新加載的問題
在使用Ajax做抽屜的效果時,第二次ajax提取頁面的時候,js沒有重新加載,怎麼解決這個問題?

我的部落格使用了類似的pjax技術,當初設計也遇到了類似的問題。

其實根本原因不在於js沒有重新加載,其實他根本不需要重新加載,因為已經被加載過了。
根本原因在於其不會被重新執行。

你可以定義個檔案叫做bootstrap.js
然後在裡面逐一重新執行一遍需要重新載入的js即可。
ps 如果以前有寫在公共區域的程式碼,也就是不屬於任何函數的,需要你自行封裝到一個函數裡面,然後在這裡執行。
例如:
a.js

<code>console.log('test');</code>

這個js其實被載入過了,也執行過了,正常情況下是不會再執行了。
那你就需要修改它為
a.js

<code>var initAJs=function(){
    console.log('test');
}</code>

然後在pjax成功返回的時候執行
initAjs即可。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn