我正在使用需要幾個JavaScript文件的引導主題。在我的一些頁面上,我加載了很多來自服務器的內容,這意味着在評估javascript文件時,並不是所有的html都會出現在頁面上。延遲js加載的最佳方法?
這可以防止事件處理程序綁定到javascript評估後加載的html。到目前爲止,我已經通過在ajax調用完成後加載腳本解決了這個問題,但是這對我來說似乎很麻煩。這裏是我的功能:
$.get("/path/to/rest/call", function(data) {
$('#htmlElement').html(data);
}).done(function() {
$.getScript("/path/to/js/file.js");
});
我覺得有更好的方法來做到這一點。在那兒?
對我來說沒什麼好笑的。當頁面準備好該腳本時加載腳本。這就是你應該如何去做的。您可以更改腳本,以便在加載時不執行任何操作,然後您可以隨時加載它。然後,當你的ajax調用完成時,你只需在該腳本中調用一個函數。這可以簡化很多事情,因爲當腳本從其中的函數被調用並執行時加載時會解耦。 – jfriend00 2015-02-06 23:06:12
我想你是對的,但我正在加載的腳本是第三方庫。我寧願不去改變它以適應我的需求。 – jasono 2015-02-07 04:31:21
因此,您有第三方庫試圖直接修改您的頁面,而無需調用任何內容。這很奇怪。它是什麼庫? – jfriend00 2015-02-07 04:57:24