为什么我的输入字段中填充了生成焦点事件的键?

问题描述 投票:0回答:1

我正在监听keydown事件,并检查它是否为/键。如果是的话,我想重点关注文本输入。

我正在这样做:

 <input type="text" name="search" id="search" placeholder="Press '/' to search">

window.addEventListener('keydown', function(event){
    if(event.key === '/' || event.code === 'NumpadDivide'){
        document.getElementById("search").focus();
    }
})

上面的代码确实专注于输入,但是它还会插入/,并使用/键填充该输入。

这里是代码的小提琴:

https://jsfiddle.net/0v47rnxm/

谢谢。

javascript javascript-events focus keyboard-events
1个回答
2
投票

因为您需要“防止”按键的正常行为。尝试添加;

event.preventDefault()如下;

<input type="text" name="search" id="search" placeholder="Press '/' to search">

window.addEventListener('keydown', function(event){
    if(event.key === '/' || event.code === 'NumpadDivide'){
        event.preventDefault();
        document.getElementById("search").focus();
    }
})
© www.soinside.com 2019 - 2024. All rights reserved.