本文實例講述了jQuery+ajax實現(xiàn)動態(tài)執(zhí)行腳本的方法。分享給大家供大家參考。具體分析如下:
有時候,在頁面初次加載時就取得所需的全部JavaScript也是沒有必要的。具體需要取得哪個腳本,要視用戶的操作而定。雖然可以在需要時動態(tài)地引人<script>標簽,但注人所需代碼的更優(yōu)雅的方式則是通過jQueiy直接加載.js文件。
向頁面中注人腳本與加載HTML片段一樣簡單。但在這種情況下,需要使用全局函數(shù) $.getScript(),這個全局函數(shù)與它的同輩函數(shù)類似,接受一個URL參數(shù)以查找腳本文件,參見如下代碼:
$(document).ready(function() {
$('#letter-c a').click(function(event) { event.preventDefault();
$.getScript('c.js');
});
});
在前一個例子中,接下來要做的應(yīng)該是處理結(jié)果數(shù)據(jù),以便有效地利用加載的文件。然而, 對于一個腳本文件來說,這個過程是自動化;換句話說,腳本會自動執(zhí)行。
以這種方式取得的腳本會在當前頁面的全局環(huán)境下執(zhí)行。這意味著腳本有權(quán)訪問在全局環(huán)境中定義的函數(shù)和變量,當然也包括jQuery自身。因而,我們可以模仿JSON的例子來準備腳本代碼,以便在腳本執(zhí)行時將HTML插人到頁面中。現(xiàn)在,將以下腳本代碼保存到c.js中:
var entries = [
{
"term": "CALAMITY",
"part": "n.",
"definition": "A more than commonly plain and...
},
{
"term": "CANNIBAL",
"part": "n.",
"definition": "A gastronome of the old school who..."
},
{
"term": "CHILDHOOD",
"part": "n.",
"definition": "The period of human life intermediate..."
}
//省略的內(nèi)容
];
var html ='';
$.each(entries, function() {
html += '<div class="entry">';
html += '<h3 class="term">' + this.term + '</h3>';
html += '<div class="part">' + this.part + '</div>';
html += '<div class="definition">' + this.definition + '</div>';
html += '</div>';
});
$('#dictionary').html(html);
最后,單擊c鏈接,應(yīng)該會看到我們預(yù)期的結(jié)果。希望本文所述對大家的jQuery程序設(shè)計有所幫助。