码迷,mamicode.com
首页 > 其他好文 > 详细

关于浏览器中copy, cut, paste捕获的总结

时间:2014-11-04 17:11:45      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   使用   java   sp   数据   

目前这三个事件均可以通过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 = e.originalEvent.clipboardData;
  console.log("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捕获的总结

标签:style   blog   http   io   ar   使用   java   sp   数据   

原文地址:http://www.cnblogs.com/diydyq/p/4073959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!