本文實例講述了jQuery+ajax實現動態執行腳本的方法。分享給大家供大家參考。具體分析如下:
有時候,在頁面初次加載時就取得所需的全部JavaScript也是沒有必要的。具體需要取得哪個腳本,要視用戶的操作而定。雖然可以在需要時動態地引人<script>標簽,但注人所需代碼的更優雅的方式則是通過jQueiy直接加載.js文件。
向頁面中注人腳本與加載HTML片段一樣簡單。但在這種情況下,需要使用全局函數 $.getScript(),這個全局函數與它的同輩函數類似,接受一個URL參數以查找腳本文件,參見如下代碼:
代碼如下:$(document).ready(function() {
$('#letter-c a').click(function(event) { event.preventDefault();
$.getScript('c.js');
});
});
在前一個例子中,接下來要做的應該是處理結果數據,以便有效地利用加載的文件。然而, 對於一個腳本文件來說,這個過程是自動化;換句話說,腳本會自動執行。
以這種方式取得的腳本會在當前頁面的全局環境下執行。這意味著腳本有權訪問在全局環境中定義的函數和變量,當然也包括jQuery自身。因而,我們可以模仿JSON的例子來准備腳本代碼,以便在腳本執行時將HTML插人到頁面中。現在,將以下腳本代碼保存到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..."
}
//省略的內容
];
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鏈接,應該會看到我們預期的結果。
希望本文所述對大家的jQuery程序設計有所幫助。