我想在用户通过点击浏览按钮选择图片后获得Jcrop
插件工作,我们可以使用FileReader()
加载图片预览,我可以显示预览但是当我在浏览按钮的Jcrop
事件上初始化change
时,它不起作用。以下是代码。
表格
<form id="form1" runat="server">
<input type='file' id="imageInput" />
<img id="blah" src="#" alt="your image" />
</form>
的Javascript
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imageInput").change(function(){
readURL(this);
$("#blah").Jcrop();
});
在我添加$("#blah").Jcrop();
时,在上面的Javascript代码中,预览不起作用,我得到一条黑线。我创建了一个小提琴来演示相同的http://jsfiddle.net/LvsYc/8230/
请帮忙!
答案 0 :(得分:1)
尝试在Jcrop
回调中调用FileReader.onload
这样的回调(我在你的小提琴里用FF试了一下,它运行正常)
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
$("#blah").Jcrop();
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imageInput").change(function(){
readURL(this);
});