我知道這已被問了很多次,但我還沒有找到一個清晰有用的答案,所以我想我會以更清晰的格式再次寫這個問題?Jquery .load()不在加載的內容中加載JavaScript
問題是,當您使用.load()函數,並且您需要在加載的文件中運行javascript時,它不起作用,因爲我猜測DOM已經加載。
解決這個問題的簡單方法是在加載的文件中再次加載JavaScript,但是如果你有很多文件被加載,那麼所有的JavaScript都不是很好的做法。
有沒有人知道這樣做的好方法?
這是儘可能接近我可以合理整齊?
<a data-toggle="modal" data-target="#DIV" href="./ajax/file.php?id='.$row['id'].'"></a>
$("a[data-toggle='modal']").on('click', function() {
var target, url;
target = $(this).attr('data-target');
url = $(this).attr('href');
return $(target).load(url, function(responseText, statusText, xhr){
if(statusText == "success"){
// Re-initiate all required javascript if the load was successful.
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showOn: "both",
buttonImage: "./assets/img/calendar.gif",
buttonImageOnly: true,
dateFormat: 'dd-mm-yy'
});
}
if(statusText == "error"){
alert("There was a problem trying to load the page.");
}
});
});
的file.php裏面很簡單,有需要的東西像日期選擇器等 載荷工作正常字段的表格。
如果包含「url」的響應(即將內容加載到「target」中),它可能會澄清您的問題。 – JoshNaro 2012-03-20 21:19:16
我認爲你有一個輸入,需要是一個日期選擇器文本框,它不工作,我是對嗎? – 2012-03-20 21:48:42
是的,但它可以是任何JavaScript我只是使用datepicker作爲例子。 – Mediabeastnz 2012-03-21 02:36:40