2016-12-15 57 views
0

我希望我的代碼在一些新數據加載到頁面本身後再次運行。例如:在頁面加載新內容後再次運行jquery

$(document).ready(function() { 
    console.log("page completed"); 
} 

一旦完全加載頁面,它將在控制檯中打印page completed。新的東西加載到頁面中時,有什麼方法可以重新運行代碼?案例#1:在Facebook新聞提要中,當用戶向下滾動頁面時,將運行JavaScript以檢索新的Facebook供稿和更新。

案例#2:當URL本身發生變化時重新運行腳本。

+8

將需要執行的代碼放入函數中,並在加載新內容時調用該函數。 –

+0

把它放在一個函數中是一種乾淨整潔的方法,但你也可以用'.trigger()'手動觸發任何事件處理程序(我並不是建議你這麼做 - 只是告訴你) – Archer

回答

2

您可以用正常的功能取代你的匿名函數這樣

function onDocumentReady() { 
    // Your code 
} 

然後使用在$(document).ready(onDocumentReady)和稍後再打電話需要的地方。

1

除了@Bastiaanus的回答有一個共同的功能,並假設你的新內容是通過jQuery的AJAX加載的,你可以配置一個全局處理程序來運行一些代碼,每次加載一些內容時,使用.ajaxSuccess()

如果您想處理更多此類事件,請參閱this link

相關問題