【问题标题】:Trying to use Jcrop api尝试使用 Jcrop api
【发布时间】:2010-10-14 01:46:00
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: jquery jquery-plugins jcrop


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      我今天遇到了类似的问题。我通过在

      中初始化 Jcrop api 来解决它
      $(window).load(function() { ... });
      

      而不是

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

      这是jQuery中的常见做法。

      【讨论】:

      • 我必须将所有内容都放在加载函数中。谢谢这解决了我的一天。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        使用示例如下所示:

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

        【讨论】:

        • 似乎是 chrome 的一个错误,根据你可以做的文档: $.Jcrop('#cropbox_full',options);如果我没记错的话,它确实适用于 Firefox。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 2013-02-23
        • 2018-11-15
        • 1970-01-01
        • 2016-11-13
        相关资源
        最近更新 更多