首页 > 代码库 > 关于浏览器中copy, cut, paste捕获的总结
关于浏览器中copy, cut, paste捕获的总结
目前这三个事件均可以通过jQuery.on(“copy cut paste”, handlerFn)捕获,网上说的使用setTimeout方式目的是为了获取粘贴到输入框后的全部的值;
setTimeout方式的示例代码如下:
$("input").off("paste").on("paste", function(e){ setTimeout(function(){ var val = $(this).val(); // 获取粘贴到输入框后的值,进行处理 }, 100);});
handlerFn的触发是在"鼠标右键粘贴点击"之后,"输入框显示粘贴值"之前;如果想禁用此功能,可以使用:e.preventDefault()禁止粘贴的操作;
根据MDN上的介绍,这三类事件统称为:ClipboardEvent,在handlerFn中可以通过getData方法获取到数据;只是当前这个API仅有Chrome和Firefox22以上支持,所以被用到的并不广泛;
示例代码如下:
$("input").off("paste").on("paste", function(e){ var eData = http://www.mamicode.com/e.originalEvent.clipboardData;"paste:", arguments, e.originalEvent, eData, eData.types, eData.getData("text/plain"));});
当前该类文档称为:Clipboard API and events,处于工作草案的状态(Working Draft);
具体请参考:
MDN https://developer.mozilla.org/en-US/docs/Web/Events/paste
W3C Draft http://www.w3.org/TR/clipboard-apis/#paste-event
关于浏览器中copy, cut, paste捕获的总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。