Javascript 在输入值中插入按键

Javascript 在输入值中插入按键,javascript,jquery,html,input,keypress,Javascript,Jquery,Html,Input,Keypress,嗨,我在输入中插入值有问题 你可能会问我为什么要把按键输入字段和JS放在一起? 我有一个编译好的程序emscripten,它有一个驱动输入,截取所有的keypress、keydown、keyup,并为页面上的其他元素返回false。 这将阻止页面上的所有输入字段。 我没有办法在emscripten程序中解决这个问题,我决定在html端用jQuery来解决 jQuery(函数(){ var$input=jQuery(#search-area228”); $input .attr(“tabindex

嗨,我在输入中插入值有问题

你可能会问我为什么要把按键输入字段和JS放在一起? 我有一个编译好的程序emscripten,它有一个驱动输入,截取所有的keypress、keydown、keyup,并为页面上的其他元素返回false。 这将阻止页面上的所有输入字段。 我没有办法在emscripten程序中解决这个问题,我决定在html端用jQuery来解决
jQuery(函数(){
var$input=jQuery(#search-area228”);
$input
.attr(“tabindex”,“0”)
.mousedown(函数(e){jQuery(this.focus();返回false;})
.按键(功能(e){
var data=jQuery(this).val
var text=String.fromCharCode(e.keyCode | | e.charCode)
对于(变量i=0;i

只需将新文本添加到该字段中已存在的文本中,该字段已定义为
数据,但未使用它(以错误的方式)

调用输入的方法
val
时,应将其与大括号
jQuery(this).val()
NOT
jQuery(this).val一起使用,因为这是
jQuery
的函数方法,而不是变量

jQuery(函数(){
var$input=jQuery(#search-area228”);
$input
.attr(“tabindex”,“0”)
.mousedown(函数(e){jQuery(this.focus();返回false;})
.按键(功能(e){
var data=jQuery(this.val();
var text=String.fromCharCode(e.keyCode | | e.charCode)
对于(变量i=0;ijQuery(this).val(data+text[i])//您的代码几乎没有错误。

您将输入值设置为当前键,而不是将其附加到输入的当前值。

jQuery(this).val(jQuery(this).val() + text[i]);
这是固定版本:

jQuery(函数(){
var$input=jQuery(#search-area228”);
$input.attr(“tabindex”,“0”)
.mousedown(函数(e){
jQuery(this.focus();
返回false;
})
.按键(功能(e){
var data=jQuery(this).val
var text=String.fromCharCode(e.keyCode | | e.charCode)
对于(变量i=0;i

非常感谢!解决方案非常简单。但是,该事件仅适用于keydown和keyup。但有一个问题,即不适用于backspace。如何实现它?