我有以下小jQuery脚本:
$("#content").on("keyup", "#ID1", function() {
$("#ID2").load("loadText", resizeResult());
});
function resizeResult() {
if($("#ID2").height() != $("#ID3").height()){
$("#ID3").animate({
height: $("#ID2").height()
}, 800);
}
}
我现在的问题是调整大小功能只会由 NEXT“keyup”事件执行,但是当“加载”时,我希望立即 ID2 已完成。
答案 0 :(得分:0)
在keyupfunction结束时调用resizeResult()
$("#content").on("keyup", "#ID1", function() {
..................
resizeResult();
});
答案 1 :(得分:0)
在document.ready中调用你的加载函数..
$(function(){
$("#ID2").load("loadText", resizeResult()); //<-- call load function in document ready and in keyup function..
$("#content").on("keyup", "#ID1", function() {
$("#ID2").load("loadText", resizeResult());
})
.....
});
请确保你的网址是正确的路径... loadText似乎不是一个正确的路径
答案 2 :(得分:0)
代码中的一切都很好看。但是你需要在事件中留下resizeResult
函数的括号。因为您不希望它在浏览器执行脚本时立即调用。只有在事件被触发时才需要它。因此,您应该将代码更改为此(以及我的本地常见事件,建议使用jQuery):
$("#content").keyup(function() {
$("#ID2").load("loadText", resizeResult);
});
function resizeResult() {
if($("#ID2").height() != $("#ID3").height()){
$("#ID3").animate({
height: $("#ID2").height()
}, 800);
}
}
为了安全执行,最好等到html完全加载或加载此html标记(ID3
容器后面的javascript代码)。第一种方法可以使用jQuery中的$.document.ready
来完成。