Javascript 按enter键进入角度2时未触发按键事件

Javascript 按enter键进入角度2时未触发按键事件,javascript,angular,typescript,Javascript,Angular,Typescript,keypress事件未在angular 2中使用enter键触发,以下是html和angular 2代码: HTML <input [(ngModel)]="filters[i]" type="number" size="30" pInputText (keypress)="filterByField($event, col.field, fieldType.TEXT)" class="{{'input-'+col.field}}" title="Only numbers are allo

keypress
事件未在angular 2中使用enter键触发,以下是html和angular 2代码:

HTML

<input [(ngModel)]="filters[i]" type="number" size="30" pInputText (keypress)="filterByField($event, col.field, fieldType.TEXT)" class="{{'input-'+col.field}}" title="Only numbers are allowed" />

可能是因为filterByField函数中的额外参数导致了它的中断

(按键)=“filterByField($event,col.field,fieldType.TEXT)”

作为调用的一部分传递,请确保您在HTML中绑定的所有属性都在组件中定义。

@component({
@Component({
    selector: 'my-search',
    template: `
              <input #criteria type='text' placeholder="Enter criteria" (keypress)="preventNumbers($event)"  />
              <button (click)="search(criteria.value)">Search</button>
              `
})

export class MySearchComponent { 
    preventNumbers(e) {
        console.log(e.keyCode);
        if (e.keyCode >= 48 && e.keyCode <= 57) {
            // we have a number
            return false;
        }
    }
    search(criteria) {
        console.log("search for " + criteria);
    }
}
选择器:“我的搜索”, 模板:` 搜寻 ` }) 导出类MySearchComponent{ 数字(e){ console.log(例如keyCode);
如果(e.keyCode>=48&&e.keyCode如果您只需要侦听enter keypress事件,则可以在html中使用“keyup.enter”事件,如:

<input #box (keyup.enter)="onEnter(box.value)">


希望这有帮助。:/p>按键有错误吗?似乎在这里工作:@PardeepJain它没有给出任何错误keypress@echonax我看到你的代码,它在工作,但在我的情况下,它似乎不适用于按键,但它适用于键向上和键向下
<input #box (keyup.enter)="onEnter(box.value)">