我有一些以此开头的代码:
document.addEventListener('keyup',
function (e) {
// I DO NOT WANT TO HANDLE INPUT FROM THESE
if (["INPUT", "SELECT", "TEXTAREA"].includes(e.target.tagName)) return;
//... do stuff with keypresses here
});
这当然会监视整个文档中的keyup事件,并在按下Enter键时触发特殊事件-我主要将其用于条形码扫描,因为我的条形码扫描仪已设置为输入键,然后按Enter。
因此,我进行了设置,以使在将焦点放在INPUT,SELECT和TEXTAREA元素上时,在按下键时不会触发我的特殊事件,因为通常我希望它们以自己的方式处理。
我还有其他应该以自己的方式处理关键事件的html元素吗?
答案 0 :(得分:1)
您要寻找的是list of focusable elements:
- HTMLInputElement
- HTMLSelectElement
- HTMLTextAreaElement
- HTMLAnchorElement
- HTMLButtonElement
- HTMLAreaElement
请注意,按钮和锚点只能收听enter
按键,因此您可能不需要此异常