我在ajax事件中成功挂钩了这段代码:
success: function (data) {
$(loadTarget).html(data.details);
$.colorbox.resize();
}
loadTarget
是已打开的彩盒中的div。
问题是颜色框有时无法正确调整大小,就像$ .html()是异步的一样。
根据这个问题Resizing colorbox after loading HTML content into a DIV Ajax回调工作以某种方式神秘而且他们对此负责,但我不明白如果$ .html()在ajax回调中也是如此的原因。
为什么这样以及如何解决?
答案 0 :(得分:0)
请参阅此链接 https://api.jquery.com/Ajax_Events/
success (Local Event)
只有在请求成功时才会调用此事件(服务器没有错误,数据没有错误)。
这意味着如果ajax请求仅成功,则实际调用success函数。这意味着数据可能尚未被其他功能或操作使用或处理!
这可能是你的这种行为的原因。!
答案 1 :(得分:0)
原来是图像问题。
$.html()
刚刚插入了img标记,并且在加载图片之前发生了$.colorbox.resize()
。
找到两种修复方法