效果圖:
在使用Ajax做抽屜的效果時,第二次ajax提取頁面的時候,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
即可。