gpt4 book ai didi

javascript - JS - 选择输入字段后禁用事件监听器

转载 作者:行者123 更新时间:2023-12-03 03:38:07 25 4
gpt4 key购买 nike

我目前正在向我的文档添加一个事件监听器。使用以下代码效果很好:

document.addEventListener('keydown', function(event) 
{
if(event.keyCode === 68){
socket.emit('keyPress', {inputId: 'right', state: true});
}
else if(event.keyCode === 83){
socket.emit('keyPress', {inputId: 'down', state: true});
}
else if(event.keyCode === 65){
socket.emit('keyPress', {inputId: 'left', state: true});
}
else if(event.keyCode === 87){
socket.emit('keyPress', {inputId: 'up', state: true});
}
});

document.addEventListener('keyup', function(event)
{
if(event.keyCode === 68){
socket.emit('keyPress', {inputId: 'right', state: false});
}
else if(event.keyCode === 83){
socket.emit('keyPress', {inputId: 'down', state: false});
}
else if(event.keyCode === 65){
socket.emit('keyPress', {inputId: 'left', state: false});
}
else if(event.keyCode === 87){
socket.emit('keyPress', {inputId: 'up', state: false});
}
});

但是一旦我选择一个输入字段并键入包含 W、A、S、D 的内容,就会触发 EventListener。

有没有办法在选择输入字段后禁用事件监听器?

最佳答案

是的,检查什么event.target是的,如果它是您的输入元素,则只需返回,如果不是,则让代码继续。

document.addEventListener('keydown', function(event) {
if(event.target === someReferenceToYourElement){
return;
}
//rest of code
});

关于javascript - JS - 选择输入字段后禁用事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45759367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com