0

在我的 Web 应用程序中使用 Ajax 上传控件上传后,我正在使用 JCrop 裁剪图像。它适用于 Chrome、Firefox 但不适用于 IE。我使用 JCrop v0.9.12(内部版本:20130202)和 IE v10.0.9.9200.16635。问题是 JCrop 选择在 IE 中不起作用。谢谢!

这是我的脚本。

<script type="text/javascript">

    jQuery(document).ready
        (function ($) {
            // To hold the API and image size.
        var jcrop_api, boundx, boundy;
            $('#<%=imgCrop.ClientID%>').Jcrop (
                {  // img_crop is the ID of image control
                    onChange: updatePreview, // will display the selected img on change.
                    onSelect: updatePreview, // will display the selected img Img_preview
                    onSelect: storeCoords, // will tell the coordinates
                    aspectRatio: 11 / 15
                }, function ()
                {
                    jcrop_api = this;
                    var bounds = this.getBounds();
                    boundx = bounds[0];
                    boundy = bounds[1];
                }
            );

        function updatePreview(c) {
            if (parseInt(c.w) > 0) {
                var rx = 100 / c.w;
                var ry = 100 / c.h;
                $('#<%=Img_preview.ClientID%>').css({  //Img_preview is the ID of image control
                    width: Math.round(rx * boundx) + 'px',
                    height: Math.round(ry * boundy) + 'px',
                    marginLeft: '-' + Math.round(rx * c.x) + 'px',
                    marginTop: '-' + Math.round(ry * c.y) + 'px'
                });
            }
        };           
    });

    // will store the selected part the images coordinates
    function storeCoords(c) {
        jQuery('#<%=W.ClientID%>').val(c.w);
        jQuery('#<%=H.ClientID%>').val(c.h);
        jQuery('#<%=X.ClientID%>').val(c.x);
        jQuery('#<%=Y.ClientID%>').val(c.y);
    };

</script>
4

1 回答 1

0

IE 的常见修复方法是

        $.Jcrop('#<%=imgCrop.ClientID%>', {  
                // your inits
        });
于 2014-01-30T18:47:57.480 回答