1.IE浏览器 window.clipboardData:

setData() //设置值

getData()//获取值

clearData()//删除值

            /*******
** IE 浏览器下支持window.clipboardData (兼容IE7+)
** 对于URL类型的数据失效
********/
//复制内容到黏贴板
$(':button:first').click(function () {
window.clipboardData.setData('text', "asdfasdfasdf");
//window.clipboardData.setData('URL', 'http://www.baidu.com/');
alert('复制成功');
});
//黏贴内容
$(':button:eq(1)').click(function () {
//获取黏贴板内容
/*
* 获取数据失败,返回null
*/
var result = window.clipboardData.getData('text');
//var result = window.clipboardData.getData('URL'); $('#txtTwo').html($('#txtTwo').html() + result);
}); //清空text数据
$(':button:eq(2)').click(function () {
window.clipboardData.clearData('text');
alert('清空成功');
});

2.IE7+和其他浏览器

1.文本框paste监听

            //paste 事件 支持 IE7+和其他
//1.禁用文本框的粘贴事件
//粘贴事件 paste
$('#txtOne').on('paste', function (e) {
e.preventDefault();
}); //注:使用jQuery 绑定事件,无法访问到 e.clipboardData
$('#txtOne').on('paste', function (e) {
console.info(e);
var clip = e.clipboardData;
var text = clip.getData('text');
$('.divOne').append(text + '<br>');
}); //2.监听paste
var txtOne = document.getElementById('txtOne');
EventUtil.addHandler(txtOne, 'paste', function (e) {
console.info(e);
event = EventUtil.getEvent(e);
var text = EventUtil.getClipboardText(event);
$('.divOne').append(text + '<br>');
}); //3.paste时 有选择粘贴
var txtOne = document.getElementById('txtOne');
EventUtil.addHandler(txtOne, 'paste', function (e) {
var event = EventUtil.getEvent(e);
var text = EventUtil.getClipboardText(event);
console.log(text.length);
if (text.length < 10) {
$('.divOne').append(text + '<br>');
}
else {
//禁用黏贴默认操作
EventUtil.preventDefault(event);
}
});

注:jquery event对象不能访问event.clipboardData  说明

jquery.event

dom.event 

2.contenteditable 元素paste事件监听

    <div id="divOne" class="divOne" contenteditable="true">
</div>
            //contenteditable 元素的paste事件
//1.监听paste事件
$('.divOne').on('paste', function (e) {
var thisText = $(this).text();
$('#result').append(thisText);
}); //2.监听paste事件2
var divOne = document.getElementById('divOne');
EventUtil.addHandler(divOne, 'paste', function (e) {
var event = EventUtil.getEvent(e);
var text = EventUtil.getClipboardText(event);
$('#result').append(text + "<br>");
});

使用帮助类:

var EventUtil = {
addHandler: function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
},
getEvent: function (event) {
return event ? event : window.event;
},
getClipboardText: function (event) {
var clipboardData = (event.clipboardData || window.clipboardData);
return clipboardData.getData("text");
},
setClipboardText: function (event, value) {
if (event.clipboardData) {
return event.clipboardData.setData("text/plain", value);
} else if (window.clipboardData) {
return window.clipboardData.setData("text", value);
}
},
preventDefault: function (event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
};

更多:

JavaScript操作剪贴板(转)

js 操作剪切板的更多相关文章

  1. Javascript操作剪切板数据(支持IE、Chrome、360、搜狗),亲测!

    clipboarddata只能在IE浏览器中使用,在chrome下会提示对象未定义!以下的方法支持IE.Chrome.360.搜狗等浏览器,其它浏览器还未验证. <!DOCTYPE html&g ...

  2. JS访问剪切板中的图片

    google出来一个html2canvas,它利用canvas来渲染读取的DOM树,也就是说它只能截取document里的内容,如果要像qq截图那样,应该怎么做?用过百度的Ueditor编辑器的朋友都 ...

  3. C# 使用WinApi操作剪切板Clipboard

    前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架封装 ...

  4. JS从剪切板里粘贴图片

    功能需求:在网页中,Ctrl+V,把系统剪切板的图片(比如QQ截图)进行粘贴.显示.上传...,提高用户体验. 参考链接:https://ruby-china.org/topics/17266 git ...

  5. c#操作剪切板

    C#定义了一个类System.Windows.Forms.Clipboard来简化剪切板操作,这个类有一个静态方法,主要有: Clear 清除剪切板中的所有数据: ContainsData,Conta ...

  6. C#操作剪切板(Clipboard)

    剪切板是Windows系统提供的功能,从我最早接触到的Windows 3.2版本开始,就一直带着了.以前使用C++的时候,是直接使用Windows API对其进行操作的,到了.NET下,在WinFor ...

  7. js修改剪切板内容的方法

    代码如下: //绑定在了body上,也可以绑定在其他可用元素行,但是不是所有元素都支持copy事件. $(document.body).bind({ copy: function(e) {//copy ...

  8. 使用ZeroClipboard操作剪切板

    一.ZeroClipboard下载地址 点击下载 二.添加js引用 <script src="../Assets/js/jquery-1.8.3.min.js">< ...

  9. VBS操作剪切板

    '设置剪切板的内容 Dim Form, TextBox Set Form = CreateObject("Forms.Form.1") Set TextBox = Form.Con ...

随机推荐

  1. 【转】tkinter实现的文本编辑器

    此代码是看完如下教学视频实现的,所以算是[转载]吧: 效果:                                                     代码: # -*- encodin ...

  2. ASP.NET MVC Controller接收ajax post方式发送过来的json对象或数组数据

    本例旨在说明我的一种Controller接收ajax提交(POST)过来的json对象或数组信息的方式,感觉应该有更好的方式,欢迎提出宝贵意见. JSON.stringify(jsonObj)不支持I ...

  3. (转)jQuery.extend 函数详解

    Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解       JQuery的extend扩展方法: Jquery的扩展方法extend ...

  4. html拼接数据的时候一定要注意null值的问题

    后台会返回null文本  如果直接拼接 不仅仅格式问题 前台会显示null   如果是图片  用fiddle抓取 还会发现你请求了一个带域名/null的接口     所以要把null格式化为空文本

  5. IIS上部署网站404错误

    新装的系统上部署.net网站遇到403.404错误,可能原因记录: 1.应用程序池选择错误,一般选择4.0的 2.ASP.NET4.0应用程序池未安装(一般先安装了framework4.0,后安装ii ...

  6. PartialView 加载Js

    地址记录:http://stackoverflow.com/questions/21186505/including-script-specific-to-an-asp-net-mvc4-view-o ...

  7. 文成小盆友python-num11-(1) 线程 进程 协程

    本节主要内容 线程补充 进程 协程 一.线程补充 1.两种使用方法 这里主要涉及两种使用方法,一种为直接使用,一种为定义自己的类然后继承使用如下: 直接使用如下: import threading d ...

  8. 开放GitHub的理由

    越来越多的程序把sourcecode和安装包托管到GitHub上,没有GitHub访问的网络太悲催了... 想通过Chocolatey(windows版的apt-get)装一个ConEmu都无法做到 ...

  9. Android学习笔记--获取传感器信息

    相关资料: 传感器的坐标与读数:http://www.cnblogs.com/mengdd/archive/2013/05/19/3086781.html 传感器介绍及指南针原理:http://www ...

  10. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...