获取一个JQuery函数,以便在onLoad之后独立执行

时间:2010-03-16 04:29:01

标签: jquery function execute

是否可以通过将JQuery函数注入页面来执行它?它不能附加到.ready函数。原因是用户将通过iframe上传图片。在显示上传的图像后,我需要JCrop执行。

echo "<script>$('#pictures_step1_right_bottom1', window.parent.document).html('<img id=\"cropbox\" src=\"../../box/" . 'THM' . $filenameAlt . '.jpg' . "\">');</script>";

echo "<script>jQuery(function(){jQuery('#cropbox').Jcrop();});</script>";

这是在处理图像的iframe中执行的。然后将其发送到主页面。但这不起作用。

修改

结束运行计时器:

function checkPic() {  
    if($('#cropbox1').length != 0) {
        jQuery(function() {
            jQuery('#cropbox1').Jcrop();
        });
    }
    timer(); // Check size again after 1 second
}

function timer() {
    var myTimer = setTimeout('checkPic()', 3000); // Check size every 1 second}
}

2 个答案:

答案 0 :(得分:0)

使用javascript,您可以加载图像并检查它何时完成加载。

这不是JQuery,而是普通的JS,但它的想法是一样的。目标是图像的位置。如果加载完成,函数将返回true,否则返回false。一旦这是真的,运行你的JCrop方法。

document.getElementById( target ).complete

答案 1 :(得分:0)

最终运行了一个计时器:

checkPic(); 
function checkPic() 
{ 
   if($('#cropbox1').length != 0) 
   { 
       jQuery(function() { jQuery('#cropbox1').Jcrop(); }); 
   } 
   timer(); // Check size again after 1 second 
} 
function timer() 
{ 
   var myTimer = setTimeout('checkPic()', 3000); // Check size every 1 second 
}