Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript eventListener按键对<;输入>;_Javascript_Html_Listeners - Fatal编程技术网

Javascript eventListener按键对<;输入>;

Javascript eventListener按键对<;输入>;,javascript,html,listeners,Javascript,Html,Listeners,我知道在输入的元素中使用按键事件监听器进行按键纯粹是疯狂。但我个人希望自己明白在这种情况下我做错了什么 该代码的目标是只允许在输入字段中显示数字,禁止出现字母以及使用键盘组合(alt、shift等) 函数onDown(e){ e=e | |事件; 如果(e.ctrlKey | | e.altKey | | e.metaKey)返回;//对于密钥组合为false var chr=getChar(e); if(chr==null)返回; if(chr'9'){//if“chr”不是数字-false

我知道在
输入的元素中使用
按键事件监听器
进行按键纯粹是疯狂。但我个人希望自己明白在这种情况下我做错了什么

该代码的目标是只允许在输入字段中显示数字,禁止出现字母以及使用键盘组合(alt、shift等)

函数onDown(e){
e=e | |事件;
如果(e.ctrlKey | | e.altKey | | e.metaKey)返回;//对于密钥组合为false
var chr=getChar(e);
if(chr==null)返回;
if(chr<'0'| | chr>'9'){//if“chr”不是数字-false
返回false;
}
}
函数getChar(event){//支持func从keyCode获取字符
如果(event.which==null){
if(event.keyCode<32)返回null;
返回字符串.fromCharCode(event.keyCode)
}
如果(event.which!=0&&event.charCode!=0){
if(event.which<32)返回null;
返回字符串.fromCharCode(event.which);
}
返回null;
}
输入加法器列表器('keypress',onDown)

您需要调用
e.preventDefault()当输入的值不是数字时

函数onDown(e){
e=e | |事件;
如果(e.ctrlKey | | e.altKey | | e.metaKey)返回;//对于密钥组合为false
var chr=getChar(e);
if(chr==null)返回;
if(chr<'0'| | chr>'9'){//if“chr”不是数字-false
e、 预防默认值();
}
}
函数getChar(event){//支持func从keyCode获取字符
if(event.which==null){
if(event.keyCode<32)返回null;
返回字符串.fromCharCode(event.keyCode)
}
if(event.which!=0&&event.charCode!=0){
if(event.which<32)返回null;
返回字符串.fromCharCode(event.which);
}
返回null;
}
输入添加的监听器(“按键”,onDown)

您需要调用
e.preventDefault()当输入的值不是数字时

函数onDown(e){
e=e | |事件;
如果(e.ctrlKey | | e.altKey | | e.metaKey)返回;//对于密钥组合为false
var chr=getChar(e);
if(chr==null)返回;
if(chr<'0'| | chr>'9'){//if“chr”不是数字-false
e、 预防默认值();
}
}
函数getChar(event){//支持func从keyCode获取字符
if(event.which==null){
if(event.keyCode<32)返回null;
返回字符串.fromCharCode(event.keyCode)
}
if(event.which!=0&&event.charCode!=0){
if(event.which<32)返回null;
返回字符串.fromCharCode(event.which);
}
返回null;
}
输入添加的监听器(“按键”,onDown)

您不需要
getChar
方法,因为事件已经具有
属性

函数为数字(n){
return!isNaN(parseFloat(n))和&isFinite(n);
}
函数onDown(e){
e=e | |事件;
如果(e.ctrlKey | | e.altKey | | e.metaKey | | e.shift)返回;//对于键组合为false
如果(!isNumeric(e.key))e.preventDefault();
}
输入加法器列表器('keypress',onDown)

您不需要
getChar
方法,因为事件已经具有
属性

函数为数字(n){
return!isNaN(parseFloat(n))和&isFinite(n);
}
函数onDown(e){
e=e | |事件;
如果(e.ctrlKey | | e.altKey | | e.metaKey | | e.shift)返回;//对于键组合为false
如果(!isNumeric(e.key))e.preventDefault();
}
输入加法器列表器('keypress',onDown)

使用
返回false
e.preventDefault()
。使用
返回false
e.preventDefault()