【发布时间】:2010-11-02 13:05:09
【问题描述】:
我正在使用 Jcrop jquery 插件,并在 onload 事件上触发 initJcropBox() 函数。
但此功能在图像完全加载之前被触发。这导致了问题。例如显示不正确的 jcropbox 大小或根本不显示 jcropbox。
当我放置一条线时,它工作正常。但不是解决方案。
setTimeout('initJcropBox()',2000);
图像在浏览器中完全加载/渲染后如何触发initJcropbox()函数?
var api;
function initJcropBox(){
api = $.Jcrop('#cropbox',{
bgColor: 'black',
bgOpacity: .7,
onSelect: updateCoords,
onChange: updateCoords,
boxWidth: 400
});
api.animateTo([0,0,$('#cropbox').width(),$('#cropbox').height()]);
}
function insertImage(name) {
var img = new Image();
img.onload = initJcropBox;
img.src = name;
img.id = 'cropbox';
return img;
}
$('td.imageFile').live('click', function(e){
fileWithPath = "uploads/original/" + $(this).text();
$('#cropbox').remove();
$("#cropcontainer").empty().html(insertImage(fileWithPath));
});
【问题讨论】:
标签: jquery onload onload-event jcrop