您好我正在使用 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中出现。提前致谢
答案 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不支持此属性或方法
通过进一步的研究发现,IE8对defineProperty()
的支持有限。实际上,从这个ECMA compatibility site开始,IE8与大多数Object
属性斗争。
问题不在于您使用的jQuery版本,而是IE8。您只需要停止支持Microsoft will。