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)">