Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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 如何在angular 4中按键盘_Javascript_Angular - Fatal编程技术网

Javascript 如何在angular 4中按键盘

Javascript 如何在angular 4中按键盘,javascript,angular,Javascript,Angular,我正在尝试实现一个只允许输入数字的输入标记 我找到工作的一个方法是 TS方法: keyPress(event: KeyboardEvent) { const pattern = /[0-9]/; const inputChar = String.fromCharCode(event).charCode); if (!pattern.test(inputChar)) { // invalid character, prevent input

我正在尝试实现一个只允许输入数字的输入标记

我找到工作的一个方法是

TS方法:

keyPress(event: KeyboardEvent) {
    const pattern = /[0-9]/;
    const inputChar = String.fromCharCode(event).charCode);
    if (!pattern.test(inputChar)) {    
        // invalid character, prevent input
        event.preventDefault();
    }
}
HTML:


这里不需要html中的模式,因为您只能键入0-9以外的其他字符


祝你好运

我们应该使用
KeyboardEvent
而不是event作为
keyPress

的输入参数的一种类型。对于任何寻求其他方法确定是否按下特定键(如空格键)的人,您可以使用:

grabText(event){
    if(event.code === 'Space'){
        console.log('PRESSED SPACE');
        ...  
    }

}

要仅创建输入字段编号,可以执行此操作。因此,您可以使用onkeypress实现另一个功能

 <input type="text"
    onkeydown="javascript: return event.keyCode === 8 || 
                                  event.keyCode === 46 ?
                                  true : !isNaN(Number(event.key))"/>


为什么要在括号内添加按键?这是什么语法?这让我很困惑,因为()应该与
@Output()
属性一起使用。它是一个类似于click、keydown、change的事件,应该与绑定组件方法类似。输出是一个EventEmitter,是相同的。此时上述代码中唯一的错误是event)。charCode实际上应该是event.charCode,即应删除一个字符“”)。但StackOverflow表示,在给定的编辑中,至少需要更改6个字符。所以,本质上。。。你需要发明其他实际上不必要的改变。。。(?)
 <input type="text"
    onkeydown="javascript: return event.keyCode === 8 || 
                                  event.keyCode === 46 ?
                                  true : !isNaN(Number(event.key))"/>