Question

J'utilise Jcrop et je wan't pour modifier dynamiquement le rapport d'aspect de la sélection en fonction des commentaires des utilisateurs, donc je suppose que le chemin à parcourir est d'utiliser Jcrop api.

La chose est que si je l'utilise en fonction jquery il fonctionne bien:

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

Mais si je l'utilise appelant Jcrop fonctionner mon image ne s'affiche plus:

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

Est-ce un bug Jcrop?

BTW J'utilise le chrome et jquery 1.4.2

Était-ce utile?

La solution

Il semble y avoir un bug lors de l'utilisation de chrome parce que dans Firefox, travaux:

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

Après jCrop a été setted il est accessible comme celui-ci et les options peuvent être réinitialisés, cela a fonctionné avec du chrome:

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

Autres conseils

Ce pourrait être un bogue dans JCrop mais vous pouvez écrire votre code d'une manière qui fonctionne sur Google Chrome, FF, IE et Safari. Pour ce faire, au lieu de:

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

utiliser quelque chose comme ceci:

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

Si vous utilisez $.Jcrop() directement, il attend un objet ou un élément jquery.

Un exemple d'utilisation ressemblerait à ceci:

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

J'ai eu un problème similaire aujourd'hui. Je l'ai résolu par l'initialisation de l'API Jcrop en

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

au lieu de

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

qui est pratique courante dans jQuery.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top