我正在使用Jcrop,我不想根据用户输入动态更改选择的宽高比,所以我想要采用的方法是使用Jcrop api。
如果我将它用作jquery函数,那就可以了:
$('#cropbox_full').Jcrop({
onChange: update_full_dimensions,
onSelect: update_full_dimensions
});
但如果我使用它调用Jcrop函数,我的图像将不再显示:
var api = $.Jcrop('#cropbox_full', options);
这是一个Jcrop的错误吗?
BTW我正在使用chrome和jquery 1.4.2
答案 0 :(得分:2)
使用chrome时似乎存在一些错误,因为在firefox中这有效:
$.Jcrop($('#cropbox_full'),options);
设置jCrop之后,可以像这样访问它并重置选项,这适用于chrome:
$('#cropbox_full').Jcrop(options);
var jcrop = $('#cropbox_full').data('Jcrop');
jcrop.setOptions(newOptions);
答案 1 :(得分:2)
这可能是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]
});
});
答案 2 :(得分:1)
如果您直接使用$.Jcrop()
,则需要jquery对象或元素。
用法示例如下所示:
$.Jcrop($('#cropbox_full'),options);
答案 3 :(得分:1)
我今天遇到了类似的问题。我通过初始化
中的Jcrop api解决了这个问题$(window).load(function() { ... });
而不是
$(document).ready(function() { ... });
这是jQuery中的常见做法。