0

我正在尝试找到一种方法来使用 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>

任何帮助都会非常感激,因为很长时间以来我都在尝试但还没有找到解决方案。

4

1 回答 1

0

尝试使用它的 onkeydown 处理程序。您可以从那里获取 keyCode,然后获取密钥。

<input type="text" value="" onkeydown="alert(String.fromCharCode(event.keyCode));"/>

请注意,由于键盘上的所有字符都是大写字母,因此您也会得到大写字母。上面的代码将显示按下的键

于 2013-03-08T19:46:21.483 回答