首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript KeyDown事件

JavaScript KeyDown事件
EN

Stack Overflow用户
提问于 2022-04-19 19:36:49
回答 2查看 133关注 0票数 0

例如,我有以下功能

代码语言:javascript
复制
function RequestInputType(Input) {
      inputType: Input
}

所以,现在我想调用这个函数,如果按下键,就用一个输入值循环。

代码语言:javascript
复制
      window.addEventListener('keydown', e => {
        if (9 === e.keyCode) {
          e.preventDefault();
             RequestInputType(0)
//i Want it if key is pressed again then switch from RequestInputType(0) to RequestInputType(1)
             RequestInputType(1)
//and if pressed again
              RequestInputType(2)
//and so on
    }, false);

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-19 20:17:40

您可以创建一个按键计数器。

代码语言:javascript
复制
var keydownCounter = 0;

window.addEventListener('keydown', e => {

  if (9 === e.keyCode) {
     
     e.preventDefault();
     keydownCounter++
 
    
     if(keydownCounter % 3 == 0){
        RequestInputType(0)
     }
     else if(keydownCounter % 3 == 1){
        RequestInputType(1)
     }
     else if(keydownCounter % 3 == 2){
        RequestInputType(2)
     }
   }
},false)
票数 0
EN

Stack Overflow用户

发布于 2022-04-19 19:42:39

使用全局变量保存要传递给requestInputType()的当前参数。然后,您可以增加它,并在每次调用之后绕一圈。

代码语言:javascript
复制
let curInputType = 0;
let maxInputType = 3;

window.addEventListener('keydown', e => {
  if (9 === e.keyCode) {
    e.preventDefault();
    RequestInputType(curInputType);
    curInputType = (curInputType + 1) % maxInputType;
  }
}, false);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71930407

复制
相关文章

相似问题

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