ie8

时间:2015-07-01 06:25:00

标签: javascript jquery internet-explorer-8

您好我正在使用 cropit 插件来裁剪项目中的图片。但是在IE8中运行它时,它在JQUERY的.on()方法中显示出一些错误。请帮助我解决这个问题。

此处为codepen

中的示例代码

错误显示在以下代码中

 this.$fileInput.on("change.cropit", this.onFileChange.bind(this));
        this.$preview.on(Cropit.PREVIEW_EVENTS, this.onPreviewEvent.bind(this));
        this.$zoomSlider.on(Cropit.ZOOM_INPUT_EVENTS, this.onZoomSliderChange.bind(this));
        if (this.options.allowDragNDrop) {
            this.$preview.on("dragover.cropit dragleave.cropit", this.onDragOver.bind(this));
            return this.$preview.on("drop.cropit", this.onDrop.bind(this));
        }

错误仅在IE8中出现。提前致谢

2 个答案:

答案 0 :(得分:0)

这在IE8(真实版本)

中工作得很好
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script>
$(document).ready(function () {
    this.$fileInput.on("change.cropit", this.onFileChange.bind(this));
        this.$preview.on(Cropit.PREVIEW_EVENTS, this.onPreviewEvent.bind(this));
        this.$zoomSlider.on(Cropit.ZOOM_INPUT_EVENTS, this.onZoomSliderChange.bind(this));
        if (this.options.allowDragNDrop) {
            this.$preview.on("dragover.cropit dragleave.cropit", this.onDragOver.bind(this));
            return this.$preview.on("drop.cropit", this.onDrop.bind(this));
        }
});
</script>

答案 1 :(得分:0)

我加载了一个带有IE 8的XP盒子.CodePen根本没有运行,其他主要的沙盒也没有,比如JSFiddle或JSBin。因此,我从CodePen中获取代码(在工作框中)并将其放在静态HTML文件中。接下来,我链接到proper Cropit source file(不是可能从他们的PR页面获取的vendor.js),遇到的第一个错误不是jQuery,而是使用Cropit本身:

Object.defineProperty(exports, '__esModule', {
  value: true
});
  

Object不支持此属性或方法

error

通过进一步的研究发现,IE8对defineProperty()的支持有限。实际上,从这个ECMA compatibility site开始,IE8与大多数Object属性斗争。

问题不在于您使用的jQuery版本,而是IE8。您只需要停止支持Microsoft will