我正在尝试找到一种方法来使用 onkeydown 或 onkeypress 在 html 文本字段(输入类型 = 文本)上粘贴多个字符,我对 onkeyup 不感兴趣(它有效),所以请不要建议我这个解决方案。另外我对 Jquery 不感兴趣,我不喜欢使用它。我需要适用于所有浏览器的解决方案。
如果您键入一个字符,我可以通过获取事件的字符来做到这一点,但到目前为止,我无法从粘贴(ctrl+V)或鼠标中获取一组字符。
您可以查看显示自动完成结果的 Facebook 搜索菜单,它适用于事件:onkeydown 和 onkeypress,您注意到您在松开手指之前获得了结果,尝试粘贴某些内容(多个字符)并获得结果在松开手指之前,如何?Onkeypress 和 onkeydown 不会显示您粘贴或键入的第一件事,因为它们发生在将文本添加到文本字段之前。
如果您想了解我想要的更多信息,请查看下面的代码:
<input type="text" id="targetTextField" onkeydown="CapturePastedString(this.id)" />
<script>
function CapturePastedString(id){
var targetTextField=document.getElementById(id);
// below I need to capture the pasted string like:
var pasted_string= function(){.....}
targetTextField.value=pasted_string;
}
</script>
任何帮助都会非常感激,因为很长时间以来我都在尝试但还没有找到解决方案。