3 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
當(dāng)load()與片段選擇器一起使用時(shí),腳本元素將在添加片段之前被剝離,因此腳本將不會(huì)執(zhí)行。
使用不帶后綴選擇器表達(dá)式的URL調(diào)用.load()時(shí),將在刪除腳本之前將內(nèi)容傳遞給.html()。這將在腳本塊被丟棄之前執(zhí)行它們。但是,如果使用附加到URL的選擇器表達(dá)式來(lái)調(diào)用.load(),則在更新DOM之前會(huì)刪除腳本,因此不會(huì)執(zhí)行這些腳本。兩種情況的示例如下所示:
所以嘗試
$.get('partial.html', function(result){
$result = $(result);
$result.find('#content').appendTo('#new_content');
$result.find('script').appendTo('#new_content');
}, 'html');

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果知道要執(zhí)行的腳本是什么,則可以在ajax響應(yīng)之外的其他地方定義腳本,然后從回調(diào)中調(diào)用它。所以代替:
$('#new_content').load(url+' #content > *',function() {alert('returned');});
您可以使用
$('#new_content').load(url+' #content > *',function() {my_function(my_param);});

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
這個(gè)代碼怎么樣
$('#new_content').append($('<script>').html(source));
或者您可以簡(jiǎn)單地將JavaScript內(nèi)容移動(dòng)到單獨(dú)的文件中,然后使用
$.getScript("url to js file");
或只是使用,
eval(source);
添加回答
舉報(bào)