javascript - 如何在具有 maxLength 属性的输入中获取所有粘贴的字符串?
问题描述
我需要在具有 maxLength 属性的输入中获取所有粘贴的字符串。
但是在“onpaste”事件中,没有属性可以获取所有粘贴的字符串。
例如,使用此字符串检查以下代码段:
“AAAAA-BBBBB-BBBBB-BBBBB-BBBBB”
输出为:“AAAAA”
但我需要所有的字符串。
const onPasteFn = (e) => {
setTimeout(() => document.getElementById("demo").innerHTML = e.target.value, 0)
}
<input type="text" maxLength="5" onpaste="onPasteFn(event)" />
<p id="demo"></p>
解决方案
考虑使用clipboardData
from 事件,您可以使用它getData()
来抓取从剪贴板粘贴的文本,如下所示:
const onPasteFn = (e) => {
document.getElementById("demo").textContent = (e.clipboardData || window.clipboardData).getData('text');
}
<input type="text" maxLength="5" onpaste="onPasteFn(event)" />
<p id="demo"></p>
请参阅文档中的示例here。请注意,|| window.clipboardData
用于 IE 支持的后备。
推荐阅读
- sql - 我想在 Informix 数据库中将 Integer 转换为 hh:mm:ss 格式
- ios - React Native/iOS 相机权限:显示警报以从设置中为不允许相机访问的用户打开权限?
- json - 如何根据条件将任何数据类型编组为字符串并从字符串解组为特定数据类型
- ios - 在 Charles 中建立 200 连接但无法看到 Https 的响应内容
- javascript - 如何在 Nestjs 中扩展多个 dto 类
- sql - 在查询中过滤 SELECT 结果
- r - R - 你如何调整 ggdag 的 ggplot 中的箭头?
- python - 当用户的系统也可能安装了 Python 2.7 时,如何在他们的系统上运行 Python 3 脚本?
- python - Undefined 类型的对象不是 JSON 可序列化的
- azure - Azure Devops 解压缩工件,然后上传到站点