احصل على وظيفة JQuery ليتم تنفيذها بعد onLoad وبشكل مستقل عنها

StackOverflow https://stackoverflow.com/questions/2452117

  •  20-09-2019
  •  | 
  •  

سؤال

هل من الممكن تنفيذ وظيفة 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

انتهى تشغيل جهاز توقيت:

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 
}

نصائح أخرى

باستخدام جافا سكريبت يمكنك تحميل صورة والتحقق من انتهاء التحميل.

هذه ليست JQuery ولكنها مجرد JS عادي ولكنها نفس الفكرة.مع كون الهدف مكان الصورة.ستعود الدالة صحيحًا إذا تم التحميل، وخطأً بخلاف ذلك.بمجرد أن يصبح الأمر صحيحًا، قم بتشغيل طريقة JCrop الخاصة بك.

document.getElementById( target ).complete
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top