Как удалить jcrop?
как я могу снять изображение?
Я добавляю jcrop с:;
$('#imgThumbnailer').Jcrop({
onChange: statusCrop,
onSelect: statusCrop,
bgColor: 'black',
bgOpacity: .3
});
Как мне его отменить?
Edit:
$('#imgThumbnailer').attr("src", $obj.attr('thumbnailer_link'));
var dlg = $("#ThumbnailDialog").dialog({
modal: false,
draggable: false,
position: 'center',
zIndex: 99999, // Above the overlay
closeText: '',
width: 510,
height: 500,
open: function () {
$('body').css("overflow", "hidden");
if ($.browser.msie) {
$('html').css("overflow", "hidden");
}
$("#loader").show();
var ratio = parseFloat($obj.attr('thumbnailer_ratio'));
jcrop_api = $.Jcrop('#imgThumbnailer', {
onChange: statusCrop,
onSelect: statusCrop,
bgColor: 'black',
bgOpacity: .3,
aspectRatio: ratio
});
},
close: function () { $('body').css("overflow", "auto"); if ($.browser.msie) { $('html').css("overflow", "auto"); } $("#loader").hide(); },
buttons: {
'Set Thumbnail': function () {
$(this).dialog('close');
},
Cancel: function () {
jcrop_api.destroy();
jcrop_api = null;
$(this).dialog('close');
}
}
}).parent();
dlg.appendTo(jQuery('form:first'));
Приведенный выше код не будет работать для меня. Я думаю, что это связано с тем, что Im использует это в диалоговом окне jquery. http://code.google.com/p/jcrop/issues/detail?id=21
Не уверен, как это сделать.
Ответы
Ответ 1
Изменить: похоже, вам нужно поддерживать ссылку на api, когда вы добавляете jcrop к изображению.
// assign jcrop to jcrop_api
var jcrop_api = $.Jcrop('#imgThumbnailer', {
onChange: statusCrop,
onSelect: statusCrop,
bgColor: 'black',
bgOpacity: .3
});
// when you want to remove it
jcrop_api.destroy();
Ответ 2
Мне было интересно то же самое, и после прочтения источник нашел простое решение, которое работает в v0.9.8 (другие опубликованные ответы работают только с dev-версией в настоящее время). Если вы инициируете Jcrop следующим образом:
$('#imgThumbnailer').Jcrop({
onChange: statusCrop,
onSelect: statusCrop,
bgColor: 'black',
bgOpacity: .3
});
то вы можете получить доступ к api и уничтожить Jcrop через:
JcropAPI = $('#imgThumbnailer').data('Jcrop');
JcropAPI.destroy();
Возможно, слишком поздно для искателя, но, надеюсь, это поможет кому-то, кто наткнулся на эту страницу из Google!
Ответ 3
Начиная с версии v0.9.9 Jcrop, вам нужно сделать это следующим образом:
var jcrop_api;
$('#target').Jcrop(options,function(){
jcrop_api = this;
});
Предоставлено создателем: http://deepliquid.com/content/Jcrop_API.html