概述
兼容性:
给页面中的元素绑定paste
事件的方法,当用户鼠标在该元素上或者该元素处于focus
状态,绑定到paste
事件的方法即可,绑定的元素不一定是input
,普通的div
也是可以绑定的,如果是给document
绑定了,就相当于全局了,任何时候的粘贴操作都会触发。
document.addEventListener("paste", function (e){
var cbd = e.clipboardData;
var ua = window.navigator.userAgent;
// 如果是 Safari 直接 return
if ( !(e.clipboardData && e.clipboardData.items) ) {
return;
}
// Mac平台下Chrome49版本以下 复制Finder中的文件的Bug Hack掉
if(cbd.items && cbd.items.length === 2 && cbd.items[0].kind === "string" && cbd.items[1].kind === "file" &&
cbd.types && cbd.types.length === 2 && cbd.types[0] === "text/plain" && cbd.types[1] === "Files" &&
ua.match(/Macintosh/i) && Number(ua.match(/Chrome/(d{2})/i)[1]) < 49){
return;
}
for(var i = 0; i < cbd.items.length; i++) {
var item = cbd.items[i];
if(item.kind == "file"){
var blob = item.getAsFile();
if (blob.size === 0) {
return;
}
// blob 就是从剪切板获得的文件 可以进行上传或其他操作
}
}
}, false);
粘贴事件提供了一个clipboardData的属性。Chrome有该属性,Safari没有。
最后
以上就是落后月饼为你收集整理的JavaScript 粘贴事件 paste的全部内容,希望文章能够帮你解决JavaScript 粘贴事件 paste所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复