首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角5,我被困在检查输入eventKey

角5,我被困在检查输入eventKey
EN

Stack Overflow用户
提问于 2018-09-04 02:57:49
回答 1查看 83关注 0票数 0

我正在检查从键盘接收值的输入,该值不能超过60。一切都很好,但当一个'ArrowUP‘被按到6-9和键盘仍然可以按。我不知道我做错了什么,请帮帮忙!

组件

代码语言:javascript
复制
controlValue(event) {

let patt = /[0-9]/g;
let itTrue = patt.test(event.key);
console.log(this.startTime.minute)
if (itTrue || event.keyCode == 8 || (event.keyCode > 33 && event.keyCode < 48)) {
  if (event.code == 'ArrowUp') {
    this.startTime.minute++
    if (this.startTime.minute >= 60) {
      this.startTime.minute = 0;
    }
  } else if (event.code == 'ArrowDown') {
    this.startTime.minute--

    if (this.startTime.minute < 0) {
      this.startTime.minute = 59;
    }
  } else if (itTrue) {
    if ((this.startTime.minute + parseInt(event.key)) < 60) {

      console.log('return 1')
      return true
    }
    console.log('return 2')
    return false;
  } else {
    console.log('return 3')
    return true;
  }
} else {
  console.log('return 4')
  return false;
}

}

HTML

代码语言:javascript
复制
<input placeholder="MM" (keypress)="controlValue($event)" maxlength="2" [(ngModel)]="startTime.minute" class="form-control">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-04 03:33:26

您需要使用keydown事件而不是keypress。

https://stackblitz.com/edit/angular-vkgr2p

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52158207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档