【发布时间】:2016-06-13 07:03:16
【问题描述】:
我需要创建一个模块来格式化用户从我们的 Web 应用程序复制的文本。这样的模块的行为如下:
- 使用 jQuery 拦截
copy事件 - 提取用户从
copy事件中复制的文本 - 格式化文本
- 将格式化文本保存到用户剪贴板
我可以使用以下代码捕获copy 事件:
$("p").on("copy", function(e) {
debugger;
});
当我执行此代码然后复制一些文本然后检查copy 事件时,我找不到包含所选文本的属性。
我可以通过检查e.originalEvent.clipboardData 来访问与此copy 事件关联的DataTransfer 对象,但是当我检查它时,types 数组的长度包含0 并且items 属性也是空的。
似乎无法使用提供的 API 访问复制到剪贴板的数据。
有threads on SO关于如何在paste事件的上下文中处理这些对象,但是我们如何在copy事件的上下文中处理这些对象呢?
【问题讨论】:
标签: javascript jquery google-chrome dom