Javascript 空格键和制表符的输入按键问题

Javascript 空格键和制表符的输入按键问题,javascript,html,css,input,Javascript,Html,Css,Input,所以我在我的应用程序中有一些表单,除了一个之外,它们似乎都工作得很好 当我按下空格键或tab键时,就好像我有一个阻止默认值,它不会做任何事情 我尝试过使用console的代码getEventListeners(节点),但结果一目了然。我还尝试使用eventListener来查看输入是否获得了一些内容 let input=document.querySelector(“#input”) input.addEventListener('keydown',e=>{ console.log(e.whi

所以我在我的应用程序中有一些表单,除了一个之外,它们似乎都工作得很好

当我按下空格键或tab键时,就好像我有一个阻止默认值,它不会做任何事情

我尝试过使用console的代码
getEventListeners(节点)
,但结果一目了然。我还尝试使用eventListener来查看输入是否获得了一些内容

let input=document.querySelector(“#input”)
input.addEventListener('keydown',e=>{
console.log(e.which);
})

好啊

您将一个名为#input的id作为目标,例如,它可以执行某些颜色而不是实际输入。删除#,您应该正确地定位所有其他输入。

正如我在评论中提到的,我在测试中没有投入太多精力,但此解决方案可以向您展示成为rockstar所需的路径

您可以在
codes
数组中添加要测试的代码,以便在不破坏用户体验的情况下继续该行为。如果您需要测试可能的键码,而不想在联机表中查找某些内容,那么可以使用在JS中查找键码

document.querySelector('#comentarios').addEventListener('keydown', e => {
            if (e.which == 32){
                e.preventDefault();
                e.path[0].value += String.fromCharCode(e.keyCode);
            }
        })


所以你不想在按下空格键或制表符时做任何事情吗?不,我想让它们按应该的方式工作,它们是普通文本inputs@AndréSilva你的小提琴弄得一团糟,比如光标键一按下<代码>值+=对于这样的问题几乎永远都不是正确的解决方案,因为它根本不考虑文本光标的位置。您可以使用jquery
unbind()
than@AndréSilva它起作用了你应该回答这个问题javascript片段只是我尝试过的一个例子。我告诉你控制台打印得很好。
querySelector
使用CSS选择器,
#input
选择id为
input
的元素。关于这一点没有错,你的“答案”完全超出了重点。
e.which
e.keyCode
都不推荐使用
e.key
e.code
应改为使用,这也使代码更容易理解。请记住,一些旧的浏览器使用了一些非标准代码,因此左侧通常是
'LeftArrow'
,右侧是
'RightArrow'
,但在IE和旧版Edge上,它们将是
'left'
'right'
。另外,看一看。我将很快添加有关此类跨浏览器不兼容的信息!
document.querySelector('#comentarios').addEventListener('keydown', e => {
            if (e.which != 32) return;

            e.preventDefault();
            e.path[0].value += String.fromCharCode(e.keyCode);

        })