我想通過jQuery的.load()函數引用遠程加載(注入)的HTML文件中的一些JavaScript文件。我正在嘗試在加載的HTML文件中使用的JavaScript文件已包含在加載的HTML父HTML頁面中。在jQuery中使用Javascript插入HTML元素
最初,我認爲在加載的HTML中引用這些文件會很好,因爲它包含在頁面中,但它似乎不起作用。
任何人都可以告訴我如何使用我的注入HTML文件的JavaScript?
我想通過jQuery的.load()函數引用遠程加載(注入)的HTML文件中的一些JavaScript文件。我正在嘗試在加載的HTML文件中使用的JavaScript文件已包含在加載的HTML父HTML頁面中。在jQuery中使用Javascript插入HTML元素
最初,我認爲在加載的HTML中引用這些文件會很好,因爲它包含在頁面中,但它似乎不起作用。
任何人都可以告訴我如何使用我的注入HTML文件的JavaScript?
如果我理解正確,聽起來好像您需要使用getScript()
- 這會使用HTTP GET請求加載並執行本地JavaScript文件。
$.getScript(url, [callback])
如果腳本元素是你加載的HTML的一部分,那麼你可以把它添加到身體,它會工作。
例子:
$.ajax({
//...
//...
success: function(response) {
// assuming response is a full HTML page
var r = $(response);
// append your content
$("#someContainer").append($("#someContent", r));
// append the scripts
$("body").append($("script", r));
}
//...
//...
});
當然你也可以使用自己選擇的,這僅僅是一個例子。讓我知道這是如何解決你的。
如果test1.htm包含:
$(文件)。就緒(函數(){$ ()負載( 'test2.htm '函數(){ ' 主'。 $('。result')。text('page has been''); }); });
和test2.html包含:<腳本類型= 「文本/ JavaScript的」 SRC = 「exscript.js」>在文檔的頭部</SCRIPT>
。
exscript.js包含:
警報( '喜');
如果你加載test1.htm,你會收到警報嗨。再見! :)
我相信你要找的是.live()
.live()讓你「附加處理器爲當前選擇,符合其所有元素的事件現在還是未來。」
例如:
$(".clickme").click(function(){
$(this).fadeOut();
}
此代碼不會已經被注入到頁面.load()或獲得()
但是,任何元素上工作,如果你這樣做:
$(".clickme").live('click', function(){
$(this).fadeOut();
}
...它甚至可以在通過javascript注入頁面佈局的元素上工作。
更多的信息在jQuery AP
你能發表一些代碼嗎? – 2009-06-03 22:06:56