e是粘貼事件
var data=e.clipboardData||window.clipboardData;
var len = data.items.length;
var itemType = data.items[0].type;
var kind = data.items[0].kind;
var text = data.getData('text');
1.粘貼的是文字
data.items 長(zhǎng)度為1
data.items[0].kind 值為'string'
data.items[0].type 值為'text/plain'
data.getData('text') 值為文字內(nèi)容
2.粘貼的是截圖
data.items 長(zhǎng)度為1
data.items[0].kind 值為'file'
data.items[0].type 值為'image/png|*'
data.getData('text') 值為空
3.粘貼的是從文件夾中復(fù)制來(lái)的文件
data.items 長(zhǎng)度為2
data.items[0].kind 值為'string'
data.items[0].type 值為'text/plain',內(nèi)容是文件名
data.items[1].kind 值為'file'
data.items[0].type 值為'image/png|*',奇怪的是試驗(yàn)中任何類型的文件都顯示image
data.getData('text') 值為文件名
看一下我們最終的實(shí)現(xiàn):
if (data.items.length==1) {
var item = data.items[0];
var itemType = item.type;
var kind = item.kind;
// ele[i].kind == 'file' && ele[i].type.indexOf('image/') !== -1
if (kind == 'file' && itemType.indexOf('image/')!==-1) {
console.log('這是截圖')
var blob = item.getAsFile();
console.log(blob);
var reader=new FileReader();
reader.readAsDataURL(blob);
//文件讀取完成時(shí)觸發(fā)
reader.onload=function(event){
//獲取base64流
var base64_str=event.target.result;
//div中的img標(biāo)簽src屬性賦值,可以直接展示圖片
$("#imageview").attr("src",base64_str);
//顯示div
$("#imageview").css("display","block");
//隱藏輸入文字的div
$("#imageview").next().css("display","none");
}
};
}