如何获得所有粘贴的字符串,在输入中有一个最大长度属性?
我需要在输入中获取所有粘贴的字符串,该输入具有MaxLength属性。
但在"onPaste"事件中,没有获取所有粘贴的字符串的属性。
例如,使用以下字符串检查下面的代码片段:
";AAAAA-BBBBB-BBBBB-BBBBB-BBBBB";
输出为:";AAAAA";
但我需要所有字符串。
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">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
,您可以使用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支持。
相关文章