如何在javascript中通过键盘直接在输入中插入数字?

如何在javascript中通过键盘直接在输入中插入数字?,javascript,jquery,math,numpad,numeric-keypad,Javascript,Jquery,Math,Numpad,Numeric Keypad,我有点困惑。有没有办法直接在我的text basic输入中插入数字,而不是按键盘上的“完成”键?我希望当我在键盘上键入数字时,它们会自动显示在text basicinput中(因为到目前为止,需要在键盘输入中预览并按enter键才能显示) 代码如下: /** *jQuery.NumPad * *版权所有(c)2015 Andrej Kabachnik * *根据麻省理工学院许可证获得许可: * http://www.opensource.org/licenses/mit-license.php

我有点困惑。有没有办法直接在我的
text basic
输入中插入数字,而不是按键盘上的“完成”键?我希望当我在键盘上键入数字时,它们会自动显示在
text basic
input中(因为到目前为止,需要在键盘输入中预览并按enter键才能显示)

代码如下:

/**
*jQuery.NumPad
*
*版权所有(c)2015 Andrej Kabachnik
*
*根据麻省理工学院许可证获得许可:
* http://www.opensource.org/licenses/mit-license.php
*
*计划之家:
* https://github.com/kabachello/jQuery.NumPad
*
*版本:1.4
*
*/
(函数($){
//从https://stackoverflow.com/questions/4963053/focus-to-input-without-scrolling
var cursorFocus=函数(elem){
var x=window.scrollX,y=window.scrollY;
元素焦点();
滚动到(x,y);
}
$.fn.numpad=函数(选项){
如果(选项类型=='string'){
var nmpd=$.data(此[0],'numpad');
如果(!nmpd)在初始化之前在numpad上抛出“无法执行”+“选项+”;
开关(选项){
案件“未结”:
打开(nmpd.options.target?nmpd.options.target:this.first());
打破
案例“结束”:
打开(nmpd.options.target?nmpd.options.target:this.first());
打破
}
归还这个;
} 
//应用指定的选项覆盖默认值
options=$.extend({},$.fn.numpad.defaults,options);
//为此jQuery选择器中的所有元素创建一个numpad.One。
//由于可以在一个页面上对多个元素调用numpad(),因此每次调用都将创建一个唯一的numpad id。
变量id='nmpd'+($('.nmpd包装器')。长度+1);
var nmpd={};
返回此值。每个(函数(){
//如果存在具有生成的唯一numpad id的元素,则该numpad已经实例化。
//否则创建一个新的!
if($('#'+id).length==0){
/**@var nmpd jQuery对象包含整个numpad*/
nmpd=$('').addClass('nmpd-wrapper');
nmpd.options=选项;
/**@var display jQuery对象表示numpad的显示(通常是一个输入字段)*/
var display=$(options.displayTpl.addClass('nmpd-display');
nmpd.display=显示;
/**@var grid jQuery对象包含numpad的网格:显示、按钮等*/
var table=$(options.gridTpl).addClass('nmpd-grid');
nmpd.grid=表格;
table.append($(options.rowTpl).append($(options.displayCellTpl).append(display.append($('')));
//使用适当的按钮创建网格的行和列
表1.1追加(
$(options.rowTpl)
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(7).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(8).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(9).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html(options.textDelete).addClass('del')。单击(function(){
setValue(nmpd.getValue().toString().substring(0,nmpd.getValue().toString().length-1));
})))
).附加(
$(options.rowTpl)
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(4).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(5).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(6).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html(options.textClear).addClass('clear')。单击(function(){
nmpd.设定值(“”);
})))
).附加(
$(options.rowTpl)
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(1).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(2).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(3).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html(options.textCancel).addClass('cancel')。单击(function()){
nmpd.close(假);
})))
).附加(
$(options.rowTpl)
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html('±;')).addClass('neg')。单击(function()){
nmpd.setValue(nmpd.getValue()*(-1));
})))
.append($(options.cellTpl).append($(options.buttonNumberTpl.html(0).addClass('numero'))
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html(options.decimalSeparator).addClass('sep')。单击(function()){
nmpd.setValue(nmpd.getValue().toString()+options.decimalSeparator);
})))
.append($(options.cellTpl).append($(options.buttonFunctionTpl).html(options.textDone.addClass('done'))
);
//创建numpad的背景-主页的覆盖
append($(options.backgroundTpl.addClass('nmpd-overlay')。单击(函数(){nmpd.close(false);}));
//将网格表附加到nmpd元素
nmpd.append(表);
//隐藏要隐藏的按钮
如果(选项.隐藏按钮){
nmpd.find('.neg').hide();
}
如果(选项。隐藏CIMALButton){
nmpd.find('.sep').hide();
}
//附加事件
if(options.onKeypadCreate){
on('numpad.create',options.onKeypadCreate);
}
如果(选项onKeypadOpen){
nmpd.on('numpad.open',options.onKeypadOpen);
}
如果(选项onKeypadClose){
nmpd.on('numpad.close',options.onKeypadClose);
}
if(options.onChange){
nmpd.on('numpad.change',options.onChange);
}
(options.appendKeypadTo?options.appendKeypadTo:$(document.body)).append(nmpd);
//数字按钮的特殊事件
$('#'+id+'.numero').bind('click',function(){
var-val;
如果($('#'+id+'.dirty').val()='0')
$('#text-basic').numpad({
  onChange: (e,value)=>$("#text-basic").val( value )
});