我在更新ajax请求后未准备好的元素时遇到问题。ajax请求后准备好jQuery文档
如果我跑我myFunction()
在页面加载功能,像这样:
$(function() {
myFunction();
}
我也完全没有问题。但如果我然后使用类似
$.ajax({
url: this.href,
dataType: "script",
complete: function(xhr, status) {
myFunction();
}
});
它返回$(".myElement").replaceWith("htmlHere")
。完整的事件触发时,元素根本没有准备好。如果我在那里设置延迟,它会再次正常工作。
当DOM准备就绪时,是否还有其他事件被解雇?
更新:
下面是实际的代码:
$(function() {
$("a.remote").live("click", function(e) {
$.ajax({
url: this.href,
dataType: "script",
success: function(xhr, status) {
myFunction();
}
});
e.preventDefault();
return false;
});
myFunction();
});
function myFunction() {
// Modify the dom in here
}
的缺失);只是我的一个错字。
我现在尝试使用成功,而不是完整的,它似乎没有任何区别。
你的$就成功事件怎么办?在你的问题中是否应该提到一些功能? –
你想把所有*代码放在一个大的$(function(){...});'handler中。这样,你永远不会有这样的问题......顺便说一句,这样做也会给你一个命名空间,无论如何你都需要它。 –
我用更新后的代码更新了原始问题。 – Danny