Javascript 使用键盘操作整数

Javascript 使用键盘操作整数,javascript,html,Javascript,Html,很抱歉我的帖子模糊不清。我被困在一个在线编码挑战中,目标是必须能够使用键盘,使用向上键和向下键来增加或减少一个数字。(所有HTML内容必须使用JS创建) 它希望我在不使用元素对象的情况下使用addEventListener-使用事件类型keydown。无论是否使用按钮或上下键,如果div-元素中的值为“1”,并且div元素中的数字不能小于“1”,则必须禁用“减少”按钮 以下是我迄今为止的代码-我不确定如何合并上述函数: addEventListener('load',function(){ l

很抱歉我的帖子模糊不清。我被困在一个在线编码挑战中,目标是必须能够使用键盘,使用向上键和向下键来增加或减少一个数字。(所有HTML内容必须使用JS创建)

它希望我在不使用元素对象的情况下使用addEventListener-使用事件类型
keydown
。无论是否使用按钮或上下键,如果
div
-元素中的值为“1”,并且
div
元素中的数字不能小于“1”,则必须禁用“减少”按钮

以下是我迄今为止的代码-我不确定如何合并上述函数:

addEventListener('load',function(){
let button=document.createElement('输入')
让secondButton=document.createElement('输入')
setAttribute('type','button')
setAttribute('id','increase')
secondButton.setAttribute('type','button'))
secondButton.setAttribute('id','decrease')
document.body.appendChild(按钮)
document.body.appendChild(第二个按钮)
设div=document.createElement('div')
div.setAttribute('id','bet size')
div.textContent='1'
document.body.appendChild(div)
if(数字(div.textContent)==1){
secondButton.setAttribute('disabled','')
}
常数增加=函数(){
div.textContent=编号(div.textContent)+1
如果(数字(div.textContent)>1){
secondButton.disabled=false
}
}
常数减少=函数(){
if(数字(div.textContent)==2){
secondButton.disabled=true
}
如果(数字(div.textContent)>1){
div.textContent=编号(div.textContent)-1
}
}
按钮。addEventListener('单击',增加)
secondButton.addEventListener(“单击”,减少)
})
您想使用事件的
keyCode
属性来确定按下的键,并相应地调用
increase()
reduce()
keyCode
存储一个数字,该数字指示引发事件的键。internet上有许多站点可以确定您所需的密钥代码,例如

您还可能希望使用来再次确定密钥释放,因为您可能会多次收到这些事件,并且只希望对其中一个事件做出反应

let isKeyDown = false;
const handleKeyDown = function(event) {
    if(isKeyDown == false)
    {
        isKeyDown = true;
        if(event.keyCode == 38) // Arrow Up
        {
            event.preventDefault(); // Prevent page scrolling
            increase();
        }
        else if(event.keyCode == 40) // Arrow Down
        {
            event.preventDefault(); // Prevent page scrolling
            decrease();
        }
    }
}

const handleKeyUp = function(event) {
  if(isKeyDown == true)
  {
    isKeyDown = false;
  }
}

document.addEventListener('keydown', handleKeyDown);
document.addEventListener('keyup', handleKeyUp);
您的扩展示例可能如下所示,然后:

addEventListener('load',function(){
let button=document.createElement('输入')
让secondButton=document.createElement('输入')
setAttribute('type','button')
setAttribute('id','increase')
secondButton.setAttribute('type','button'))
secondButton.setAttribute('id','decrease')
document.body.appendChild(按钮)
document.body.appendChild(第二个按钮)
设div=document.createElement('div')
div.setAttribute('id','bet size')
div.textContent='1'
document.body.appendChild(div)
if(数字(div.textContent)==1){
secondButton.setAttribute('disabled','')
} 
常数增加=函数(){
div.textContent=编号(div.textContent)+1
如果(数字(div.textContent)>1){
secondButton.disabled=false
}
}
常数减少=函数(){
if(数字(div.textContent)==2){
secondButton.disabled=true
}
如果(数字(div.textContent)>1){
div.textContent=编号(div.textContent)-1
} 
}
//需要记住是否已按下某个键
让isKeyDown=false;
//KeyUp和KeyDown的事件处理程序
const handleKeyDown=函数(事件){
如果(isKeyDown==false)
{
isKeyDown=true;
如果(event.keyCode==38)//Up
{
event.preventDefault();//防止页面滚动
增加();
}
否则如果(event.keyCode==40)//关闭
{
event.preventDefault();//防止页面滚动
减少();
}
}
}
const handleKeyUp=函数(事件){
如果(isKeyDown==true)
{
isKeyDown=false;
}
}
按钮。addEventListener('单击',增加)
secondButton.addEventListener(“单击”,减少)
//将新事件处理程序添加到文档的keydown和keydup事件中
文件。添加的监听器('keydown',handleKeyDown);
文件。添加的文件列表器(“键控”,handleKeyUp);
})
您想使用事件的
keyCode
属性来确定按下的键,并相应地调用
increase()
reduce()
keyCode
存储一个数字,该数字指示引发事件的键。internet上有许多站点可以确定您所需的密钥代码,例如

您还可能希望使用来再次确定密钥释放,因为您可能会多次收到这些事件,并且只希望对其中一个事件做出反应

let isKeyDown = false;
const handleKeyDown = function(event) {
    if(isKeyDown == false)
    {
        isKeyDown = true;
        if(event.keyCode == 38) // Arrow Up
        {
            event.preventDefault(); // Prevent page scrolling
            increase();
        }
        else if(event.keyCode == 40) // Arrow Down
        {
            event.preventDefault(); // Prevent page scrolling
            decrease();
        }
    }
}

const handleKeyUp = function(event) {
  if(isKeyDown == true)
  {
    isKeyDown = false;
  }
}

document.addEventListener('keydown', handleKeyDown);
document.addEventListener('keyup', handleKeyUp);
您的扩展示例可能如下所示,然后:

addEventListener('load',function(){
let button=document.createElement('输入')
让secondButton=document.createElement('输入')
setAttribute('type','button')
setAttribute('id','increase')
secondButton.setAttribute('type','button'))
secondButton.setAttribute('id','decrease')
document.body.appendChild(按钮)
document.body.appendChild(第二个按钮)
设div=document.createElement('div')
div.setAttribute('id','bet size')
div.textContent='1'
document.body.appendChild(div)
if(数字(div.textContent)==1){
secondButton.setAttribute('disabled','')
} 
常数增加=函数(){
div.textContent=编号(div.textContent)+1
如果(数字(div.textContent)>1){
secondButton.disabled=false
}
}
常数减少=函数(){
if(数字(div.textContent)==2){
secondButton.disabled=true
}
如果(数字(div.textContent)>1){
div.textContent=编号(div.textContent)-1
} 
}
//需要记住是否已按下某个键
让isKeyDown=false;
//KeyUp和KeyDown的事件处理程序
const handleKeyDown=函数(事件){
如果(isKeyDown==false)
{
isKeyDown=true;
if(event.keyCode