我有一個問題。如何使用jquery.load()加載腳本?
在我的文件content.html中我有腳本。 當使用jQuery的load()
函數加載此頁面時,頁面會顯示,但腳本不起作用。我認爲這是因爲選擇者。
我該如何解決這個問題?
編輯:
$(document).ready(function(){
$('#content').load('content.html #toLoad', function(){});
})
感謝
我有一個問題。如何使用jquery.load()加載腳本?
在我的文件content.html中我有腳本。 當使用jQuery的load()
函數加載此頁面時,頁面會顯示,但腳本不起作用。我認爲這是因爲選擇者。
我該如何解決這個問題?
編輯:
$(document).ready(function(){
$('#content').load('content.html #toLoad', function(){});
})
感謝
當你說「劇本不行」你的意思是存在的JavaScript在你通過AJAX加載頁面?
它不會工作,至少不會直接。
你有兩種選擇。從已加載的內容中解析出腳本,然後使用eval
來運行它。
更好的方法是使用$.getScript
加載(並執行)javascript。如果您想將您的JavaScript與您已加載的HTML綁定,那麼您需要一些約定來識別腳本。例如,你可以有一個標籤在你的動態加載HTML:
<span style="display:none;" id="script">/scripts/somescript.js</span>
然後尋找與ID =「腳本」當您加載內容的跨度,如果你找到它,使用$.getScript
加載腳本它確定。
例如...
$.load('content.html #toLoad', function(data){
var $script = $(data).find('span[id=script]');
if ($script.length) {
$.getScript($script.html());
// remove the span tag -- no need to render it
$script.remove();
}
$('#content').html(data);
});
你需要對這個問題不是很清楚 – amosrivera 2011-04-01 23:09:09
工作,不要空的第二個參數傳遞給'.load()'。那應該完成什麼? content.html中的頁面是否包含ID爲'toLoad'的元素? – 2011-04-01 23:10:10