js 操作剪切板
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;
}
}
};
更多:
js 操作剪切板的更多相关文章
- Javascript操作剪切板数据(支持IE、Chrome、360、搜狗),亲测!
clipboarddata只能在IE浏览器中使用,在chrome下会提示对象未定义!以下的方法支持IE.Chrome.360.搜狗等浏览器,其它浏览器还未验证. <!DOCTYPE html&g ...
- JS访问剪切板中的图片
google出来一个html2canvas,它利用canvas来渲染读取的DOM树,也就是说它只能截取document里的内容,如果要像qq截图那样,应该怎么做?用过百度的Ueditor编辑器的朋友都 ...
- C# 使用WinApi操作剪切板Clipboard
前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架封装 ...
- JS从剪切板里粘贴图片
功能需求:在网页中,Ctrl+V,把系统剪切板的图片(比如QQ截图)进行粘贴.显示.上传...,提高用户体验. 参考链接:https://ruby-china.org/topics/17266 git ...
- c#操作剪切板
C#定义了一个类System.Windows.Forms.Clipboard来简化剪切板操作,这个类有一个静态方法,主要有: Clear 清除剪切板中的所有数据: ContainsData,Conta ...
- C#操作剪切板(Clipboard)
剪切板是Windows系统提供的功能,从我最早接触到的Windows 3.2版本开始,就一直带着了.以前使用C++的时候,是直接使用Windows API对其进行操作的,到了.NET下,在WinFor ...
- js修改剪切板内容的方法
代码如下: //绑定在了body上,也可以绑定在其他可用元素行,但是不是所有元素都支持copy事件. $(document.body).bind({ copy: function(e) {//copy ...
- 使用ZeroClipboard操作剪切板
一.ZeroClipboard下载地址 点击下载 二.添加js引用 <script src="../Assets/js/jquery-1.8.3.min.js">< ...
- VBS操作剪切板
'设置剪切板的内容 Dim Form, TextBox Set Form = CreateObject("Forms.Form.1") Set TextBox = Form.Con ...
随机推荐
- (转)介绍几个C#正则表达式工具
推荐三个C#正则表达式工具,理由如下 第一个C#正则表达式工具,REGEX 这个C#正则表达式工具优点是中文的,提供了一些示例 第二个C#正则表达式工具,REGEXBUDDY 这是一个真正专业的REG ...
- Swift 面向对象
import Foundation class Hi{ func sayHi(){ print("HI jinpanpang") } } class Hello:Hi { var ...
- Swift 数组、字典
import Foundation // 数组 var arr = [,2.3] var arr1 = [] print(arr) // 字典 var dict = ["] // 添加新项 ...
- Guava API学习之Ordering犀利的比较器 编辑
Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在 ...
- ASP.NET环境下集成CKEditor与CKEditor实现文件上传
1.从http://ckeditor.com网站上下载ckeditor_aspnet_3.6.4与ckfinder_aspnet_2.4; 2.解压下载的文件ckeditor_aspnet_3.6.4 ...
- 作业:汽车查询--弹窗显示详情,批量删除 php做法(0521)
作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...
- phpmyadmin自增字段
自增字段必须为primary key 2种方法: 1- ALTER TABLE `qr_role` CHANGE `ROLE_ID` `ROLE_ID` INT(11) NOT NULL AUTO_I ...
- Linux平台Makefile文件的编写基础篇(转)
目的: 基本掌握了 make 的用法,能在Linux系统上编程.环境: Linux系统,或者有一台Linux服务器,通过终端连接.一句话:有Linux编译环境.准备: ...
- Robot Framework自动化测试---元素定位
不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的 ...
- Android从相册读取图片
Uri originalUri = data.getData(); //获得图片的uri bm = MediaStore.Images.Media.getBitmap(resolver ...