JavaScript 剪贴板数据
本篇文章将介绍在 JavaScript 中检测粘贴事件上的剪贴板数据。
JavaScript 剪贴板数据
当用户通过浏览器 UI 启动粘贴操作时,将引发粘贴事件。
当光标位于可编辑上下文中时,默认操作是将剪贴板的内容粘贴到光标位置的文档中。 此事件的处理程序可以通过调用事件的 clipboardData 属性上的 getData()
来访问剪贴板的内容。
事件处理程序必须使用 event.preventDefault()
取消默认操作,并手动插入所需数据以覆盖默认行为。 可以创建并发送合成插入事件,但这不会影响文档的内容。
EventTarget 接口的 addEventListener()
方法配置了一个函数,只要指定的事件被传递到目标就会被调用。
举个例子,定义两个 div 元素。 一个是源头,一个是目的地。
Source Div 将包含要从中复制的数据,目标将是粘贴复制数据的位置。
<div class="source">Hello World!</div>
<div class="destination" contenteditable="true">...Good Bye!</div>
const destinationElement = document.querySelector('div.destination');
destinationElement.addEventListener('paste', (event) => {
const paste = (event.clipboardData || window.clipboardData).getData('text');
console.log(paste);
const selection = window.getSelection();
selection.deleteFromDocument();
selection.getRangeAt(0).insertNode(document.createTextNode(paste));
event.preventDefault();
});
在上面的示例中,我们首先使用 querySelector 选择目标元素。 选择元素后,我们将监听粘贴事件。
一旦用户粘贴数据,便会从事件中提取剪贴板数据。
从目标元素中删除原始内容,并将新内容插入到目标元素中。 尝试在任何支持粘贴事件的浏览器中运行上面的代码; 你会得到以下结果。
之前:
之后:
相关文章
在 JavaScript 中添加 Vector 类
发布时间:2023/06/03 浏览次数:180 分类:JavaScript
-
本文将教您如何使用 for 循环、ES6 Map、ES6 类和扩展原生 Array 类在 JavaScript 中添加向量。您可以使用 for 循环在 JavaScript 中添加两个向量。 同时,向量应该是 JavaScript 数组。
JavaScript 中的行继续符
发布时间:2023/06/03 浏览次数:60 分类:JavaScript
-
这个简短的 JavaScript 文章涵盖了 JavaScript 中的词法语法。 此外,还将使用各种新的换行技术深入介绍字符串,以及在处理这些字符串时如何处理换行符。JavaScript 中的词法语法
使用 JavaScript 在没有插件的情况下输入文本掩码
发布时间:2023/06/03 浏览次数:196 分类:JavaScript
-
JavaScript 输入掩码或掩码文本框是一种控件,它为用户提供了一种简单可靠的方式来收集基于标准掩码的输入。 在本文中,我们将探索使用 JavaScript 在没有插件的情况下进行输入文本屏蔽。
在 JavaScript 中获取域名
发布时间:2023/06/03 浏览次数:122 分类:JavaScript
-
在本文中,我们将学习如何使用 JavaScript 事件和函数在网页执行期间以编程方式获取域名。我们使用域名从客户端应用程序访问网站或网页。
在 JavaScript 中清除 canvas 画布
发布时间:2023/06/03 浏览次数:166 分类:JavaScript
-
本文介绍如何在 JavaScript 中清除画布。在 JavaScript 中清除画布 canvas 元素帮助我们借助 JavaScript 绘制图形。 画布只是图形的容器,它需要JavaScript来绘制图形。
从 Java 代码调用外部 JavaScript 函数
发布时间:2023/06/03 浏览次数:150 分类:JavaScript
-
在本文中,我们将学习如何在 Java 程序中包含 JavaScript 源代码并从 Java 代码调用 JavaScript 函数。
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:140 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。