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