你可以更具體(即:代碼示例)。你的意思是你加載的頁面內部的腳本標記不工作,即:
<script type="text/javascript" src="jscript"></script>
,或者你想附加到DOM元素的事件,當您加載新的HTML到DIV不工作?如果是這樣的話,您應該使用jQuery的'on'方法,因爲您要添加到頁面的元素不會監聽您之前附加處理程序所處理的事件。下面是jQuery'on'方法的重載,當你將它們附加到Dom時,將處理程序附加到新元素上。
$('#myDiv').on('click', '#loadedPageElement', function(e) {
alert('clicked');
e.preventDefault();
});
第二個參數將附加的事件處理程序既在本,並且還用於在未來選擇匹配的所有元素的給定的選擇匹配元素。
嗨再次,
defer屬性會直到初始頁面加載延遲腳本的執行,我不知道這是你以後的行爲。然後,它會在('a#view-users')上設置一個事件處理程序,當它被點擊時它將允許('view-users.php')加載到('#main-view')中。如果您有需要與一旦加載,您將需要使用$。對()的「視圖users.php」生成的HTML工作邏輯,如果一個事件的安裝是需要如:
$(document).ready(function() {
$('a#view-users').click(function() {
$('#main-view').load('view_users.php');
});
$('#main-view').on('click', '#loadedPageElement', function(e) {
alert('clicked');
e.preventDefault();
});
});
or if you just want some code to run then a callback function is sufficient:
$(document).ready(function() {
$('a#view-users').click(function() {
$('#main-view').load('view_users.php',function(){
alert('code running after load of "view_users.php"')
});
});
});
既不應該要求你有代碼寫在你的內嵌加載的PHP。
您好,
只是爲了清楚起見,是(「一個#視圖用戶」)在初始頁面加載或在「view_users.php」由AJAX加載的元件?
嗨,
我想通過自己的暗示和其他一些人是你所遇到的問題,如果你有你的頭腳本與被加載到('#主視圖元素交互'),即使您的原始代碼使用正確的Jquery選擇器,新加載的元素也不會被識別爲相同的元素,這就是爲什麼您需要使用回調函數作爲加載方法的第二個參數或使用'on'方法。 'on'方法與標準的jQuery事件一起工作,包括'load',即將一個元素加載到dom中。例如
$("#containerElement").on('load','#newlyLoadedElement',function(e){
//Do some stuff when the element'#newlyLoadedElement' is inserted
// into "#containerElement"
})
請更清楚地說明你的問題。 – 2013-04-09 09:44:31
你只是將新的HTML內容加載到一個div中,或者你是否正在討論將整個新頁面加載到iframe中? – 23tux 2013-04-09 09:44:54
對不起,我會嘗試解釋得更清楚。我在頭文件中加入了一個腳本,如,當我點擊一個鏈接時,它會將一個外部php文件加載到div中。之後,該div中沒有任何內容可以使用附加的腳本 – Neil 2013-04-09 10:19:19