3

我在我的 aspx 页面中使用 jcrop:

<script type="text/javascript" src="../../Scripts/js/jquery.Jcrop.min.js"></script>
<link rel="Stylesheet" href="../../Scripts/css/jquery.Jcrop.min.css" />

这是我的 JCrop 声明:

 <script type="text/javascript">
    $(document).ready(function () {
        $('#' + options.ImageID).Jcrop({
            onChange: function (coords) {
                $('#' + options.HiddenID).val(coords.x + ',' + coords.y + ',' + coords.w + ',' + coords.h);
            },
            aspectRatio: 1
        });
    });
</script>

这是我的 .NET 图像:

<asp:Image runat="server" ID="PhotoPreviewImage" />

options 变量是在后面的代码中创建的一个对象,用于将 PhotoPreviewImage 的 ClientID 传递给 JS。

这在 Chrome 中效果很好,在 IE9 中不起作用(我什至没有得到十字准线)。

我正在使用 jquery.Jcrop.min.js v0.9.10 (build:20120429) 和 jQuery v1.7.1 jquery.com

如何在 IE 中完成这项工作?

4

3 回答 3

7

我最终不得不检测 IE 并使用两种格式之一进行初始化:

        var is_msie = /msie/.test(navigator.userAgent.toLowerCase());
        var jcrop_obj;

        if (is_msie) {
            jcrop_obj = jQuery.Jcrop('#img', {
                onSelect: jcrop_onEndCrop,
                minSize: [ 20, 20 ],
                setSelect: [ x, y, x2, y2 ],
                allowSelect: false
            });
        }
        else {
            jQuery('#img').Jcrop({
                onSelect: jcrop_onEndCrop,
                minSize: [ 20, 20 ],
                setSelect: [ x, y, x2, y2 ],
                allowSelect: false
            },function(){jcrop_obj = this;});
        }
于 2013-06-05T20:32:17.017 回答
3

过去,我在 IE 中遇到了 JCrop 的一些问题。我通过将“onSelect”和“onRelease”事件添加到选项对象来解决它。我不知道这是否会对您的情况有所帮助,但值得一试。我的代码如下所示:

。网

<asp:Image ID="cropbox" runat="server" ImageUrl="Assets/images/blank.gif" />

Javascript:

<script>
$(document).ready(function () {
    var api = $.Jcrop('#cropbox', {
        aspectRatio: 1,
        onSelect: update,
        onChange: update,
        onRelease: update
    });
});

function update(c) {
    //Store coords here
}
</script>
于 2012-06-06T17:36:44.200 回答
-1

这绝对修复了 IE 10 兼容模式的初始化。

于 2013-10-15T22:39:04.603 回答