سؤال

أنا أستخدم JCROP ولا يمكنني تغيير نسبة العرض إلى التحديد بناءً على إدخال المستخدم ، لذلك أعتقد أن الطريق للذهاب هو استخدام JCROP API.

الشيء هو أنه إذا استخدمته كدالة jQuery ، فإنه يعمل بشكل جيد:

$('#cropbox_full').Jcrop({
  onChange: update_full_dimensions,
  onSelect: update_full_dimensions
});

ولكن إذا استخدمته استدعاء وظيفة JCROP لم تعد صورتي يتم عرضها:

var api = $.Jcrop('#cropbox_full', options);

هل هو علة jcrop؟

راجع للشغل أنا أستخدم Chrome و JQuery 1.4.2

هل كانت مفيدة؟

المحلول

يبدو أن هناك بعض الأخطاء أثناء استخدام Chrome لأنه في Firefox يعمل هذا:

$.Jcrop($('#cropbox_full'),options);

بعد تعيين JCROP ، يمكن الوصول إلى مثل هذا ويمكن إعادة تعيين الخيارات ، وهذا يعمل مع Chrome:

$('#cropbox_full').Jcrop(options);
var jcrop = $('#cropbox_full').data('Jcrop');
jcrop.setOptions(newOptions);

نصائح أخرى

يمكن أن يكون هذا خطأ في JCROP ولكن يمكنك كتابة التعليمات البرمجية الخاصة بك بطريقة تعمل على Google Chrome و FF و IE و Safari. للقيام بذلك ، بدلاً من:

        $.Jcrop($('#cropbox_full'),options);

استخدم شيئًا كهذا:

        $(document).ready(function () {
            $('#cropbox_full').Jcrop({
                onSelect: storeCoords,
                setSelect: [0, 0, 114, 137],
                aspectRatio: 114 / 137,
                minSize: [114, 137]
            });
        });

إذا كنت تستخدم $.Jcrop() مباشرة ، يتوقع كائن jQuery أو عنصر.

مثال الاستخدام سيبدو هكذا:

$.Jcrop($('#cropbox_full'),options);

واجهت مشكلة مماثلة اليوم. لقد قمت بحلها عن طريق تهيئة API JCROP في

$(window).load(function() { ... });

بدلاً من

$(document).ready(function() { ... });

وهو ممارسة شائعة في jQuery.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top