- 注册时间
- 2014-7-28
- 最后登录
- 2015-5-27
- 阅读权限
- 30
- 积分
- 215
- 精华
- 0
- 帖子
- 60
|
代码的用途是让用户选择一张图片,然后在canvas上显示出来
测试环境:safari,iphone
问题1:当点击“打开图片”按钮后,弹出文件浏览菜单,用户选择好后,回到界面内,此时点击“刷新”后触发的却是“打开图片”的事件。
问题2:用户选择好图片加载完后,图片没有正常显示,而用户再一次点击“打开图片”加载前面那张图片后,才会正常显示,也就是加载2次。
(问题2在PC CHROME上没有重现,只有在Safari上会重现)
【index.html】
//用一个file来让用户选择图片,图片选择好后会触发getPhoto函数
<input type="file" capture="camera" accept="image/*" id="cameraInput" name="cameraInput" class="sign_file" style="display:none" />
【main.js】
function main()
{
//...初始化省略
//增加2个按钮
var btn1 = addButton(0,"刷新",100,80,0,200);//这个按钮用来重现问题1的BUG
btn1.addEventListener(LMouseEvent.MOUSE_UP, btnRefresh);
var btn2 = addButton(0,"打开图片",100,80,0,200);//增加一个按钮,用来让用户点击触发打开图片
btn2.addEventListener(LMouseEvent.MOUSE_UP, btnOpenPhotoOk);
}
function btnRefresh(e)
{
}
//点击打开图片后
function btnOpenPhotoOk(e)
{
var aa = document.getElementById("cameraInput");
aa.click();
}
//选择图片确认后
function getPhoto(val)
{
var file = val.files[0];
if(window.FileReader)
{
var fr = new FileReader();
fr.onloadend = function(e)
{
var img = new Image();
img.src =e.target.result;
bbt = new LBitmap(new LBitmapData( img ) );
mapLayer.addChildAt(b,0);
//console.log("加载成功");
};
fr.readAsDataURL(file);
}
}
|
|