所以,我有一個div(id =「content」),我正在加載我從AJAX請求獲得的各種其他HTML。我希望能夠告訴他們何時成功加載,但加載事件似乎不適用於append()。使用jQuery捕獲元素「加載」事件append() - ed元素?
我有這個簡單的例子來說明情況(在現實情況下,對「負載」事件監聽器被註冊,其中得到腳本的部分加載不同的文件)
<html>
<head>
<script
type="text/javascript"
src="http://code.jquery.com/jquery-latest.min.js">
</script>
</head>
<body>
<div id="content"><div>
<script type="text/javascript">
$(document).ready(function() {
// this does not seem to work
$("#myDiv").on('load', function() {
console.log("myDiv loaded");
});
// neither does this
$("#content").on('load', "#myDiv", function() {
console.log("myDiv loaded by delegation");
});
// the content to append will come from the network
$("#content").append($("<div id='myDiv'>myDiv</div>"));
});
</script>
</body>
</html>
中當然,在現實情況下,事情比較複雜(加載的數據可以是任何東西),所以這些都不是有效的選項:
- 具有調用的函數在div加載
- 具有如下功能後嵌入在T他加載代碼(代碼是從模板文件生成的)
div沒有'onload'事件附加,因此它不會被解僱。 – Satpal
嘗試看看這些:[追加後的jQuery回調](http://stackoverflow.com/questions/7865657/jquery-callback-after-append),[如何模擬追加回調函數?](http:// stackoverflow .com/questions/8406705/how-to-simulate-an-append-callback-function),[.append之後的jQuery函數](http://stackoverflow.com/questions/6068955/jquery-function-after-append) 。 – Joe