尝试使用 Jcrop api

发布于 2024-09-27 08:46:19 字数 406 浏览 3 评论 0原文

我正在使用 Jcrop,并且不想根据用户输入动态更改选择的纵横比,所以我想正确的方法是使用 Jcrop api。

问题是,如果我将它用作 jquery 函数,它可以正常工作:

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

但是如果我使用它调用 Jcrop 函数,我的图像将不再显示:

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

这是 Jcrop bug 吗?

顺便说一句,我正在使用 chrome 和 jquery 1.4.2

I am using Jcrop and I wan't to dynamically change the aspect ratio for the selection based on user input, so I guess the way to go is to use Jcrop api.

Thing is that if I use it as a jquery function it works ok:

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

But if I use it calling Jcrop function my image is no longer displayed:

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

Is it a Jcrop bug?

BTW I am using chrome and jquery 1.4.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一百个冬季 2024-10-04 08:46:19

使用 chrome 时似乎存在一些错误,因为在 firefox 中这是有效的:

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

设置 jCrop 后,可以像这样访问它并且可以重置选项,这适用于 chrome:

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

There seems to be some bug while using chrome because in firefox this works:

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

After jCrop has been setted it can be accessed like this and options can be resetted, this worked with chrome:

$('#cropbox_full').Jcrop(options);
var jcrop = $('#cropbox_full').data('Jcrop');
jcrop.setOptions(newOptions);
苏辞 2024-10-04 08:46:19

我今天也遇到了类似的问题。我通过初始化 Jcrop api 解决了这个问题,

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

而不是

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

jQuery 中的常见做法。

I had a similar problem today. I solved it by initializing the Jcrop api in

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

instead of

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

which is common practice in jQuery.

秋心╮凉 2024-10-04 08:46:19

这可能是 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]
            });
        });

That could be a bug in JCrop but you can write your code in a fashion that works on Google Chrome, FF, IE and Safari. To do so, instead of:

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

use something like this:

        $(document).ready(function () {
            $('#cropbox_full').Jcrop({
                onSelect: storeCoords,
                setSelect: [0, 0, 114, 137],
                aspectRatio: 114 / 137,
                minSize: [114, 137]
            });
        });
且行且努力 2024-10-04 08:46:19

如果您直接使用 $.Jcrop(),则它需要一个 jquery 对象或元素。

使用示例如下所示:

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

If you're using $.Jcrop() directly, it's expecting a jquery object or an element.

A usage example would look like this:

$.Jcrop($('#cropbox_full'),options);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文