最近,一些项目中用到监听用户复制。剪切的操作。
Javascript原生有一些事件:copy、paste、cut,
这些事件可以作用的目标元素:
能获得焦点的元素 (如内容能编辑或者可以选中的元素),或者是
使用jQuery中的方法监听用户的剪切、复制、粘贴的行为:
这些行为包括使用键盘的ctrl + c操作,或者右击鼠标—>复制等操作。
Evevt.clipboardData 对象
clipboardData是JavaScript剪切板对象,该对象提供了3个常用方法:
clearData(): clipboardData对象从剪切板删除一种或多种数据格式(一个参数:数据类型)
getData(): clipboardData对象从剪切板获取指定格式的数据(一个参数:数据类型)
setData(): clipboardData对象赋予指定格式的数据(两个参数:数据类型,要赋予的值)
*数据类型一般为“"" ”
Evevt.clipboardData 对象兼容性问题
经过尝试,clipboardData对象内兼容大部分px浏览器,像chrome,firefox、ie等,但是在手机端兼容性不是很好,
目前clipboardData在ios上的safari浏览器无效,为解决移动端这个问题,我们引用一个js插件——clipboard.js
clipboard.js依赖于HTML5推出的Selection API和execCommand API
使用:
在页面中引入
使用clipboard.js的自定义属性
高级用法