Wil*_*nka 3 jquery internet-explorer jcrop
我写了一个基于jCrop的extedned插件,一个接一个地裁剪多个图像.
我使用Chrome开发和调试,一切正常,没有任何JavaScript问题.当我在资源管理器中进行测试时,它崩溃并抛出一个写出的脚本错误
jcrop api is null or not an object
所以我的javascript很简单......
var jcrop_api; //Global var to be used thorugh out the client
//some code here
//jCrop documention tells us to use this to assign itself to an object.
//I look for both because i use .net masterpages and sometimes not.
$('#SourceImage, #body_SourceImage').Jcrop({},function () { jcrop_api = this; });
//some more code but not far down the line i need to set jCrop options using API
jcrop_api.setOptions({
boxWidth: bw,
onSelect: updateCoords,
minSize: [thisImage.Min.Width, thisImage.Min.Height],
aspectRatio: thisImage.AspectRatio
});
jcrop_api.setImage('../cache/uploads/' + fileName);
Run Code Online (Sandbox Code Playgroud)
这一切都适用于Chrome和我可以使用全局触发器更改图像.我不知道为什么它在IE中不起作用?
事实上,jCrop确实在文档中显示了您使用的确切行.但IE JavaScript引擎是无情的.
您需要做的是使用此行将api分配给var
var jcrop_api;
$(document).ready(function () {
jcrop_api = $.Jcrop($('#SourceImage, #body_SourceImage'), {});
Run Code Online (Sandbox Code Playgroud)
然后做其余的事.出于某种原因,this在IE中引用整个DOM而不是jCrop的回调函数并且无法分配,将API变量保留为空.
此更改不会影响Chrome,FF或其他任何内容..并且无论如何都会更加清晰.
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |