我有input[type="text"]
,当我按下向下键时,它会将焦点添加到按钮上。
if(e.keyCode == 40 && document.getElementsByClassName('list-item').length > 0){
document.getElementsByClassName('list-item')[0].focus();
console.log(document.activeElement);
}
我想知道我是否可以将eventListener添加到按钮上的键盘事件,即使按钮是input[type="button"]
或<button>
标记也是如此。我添加了两个有效的事件,并且与键盘相关的两个事件无法正常工作。那可能吗?
collection[i].addEventListener('click', function(e){
console.log('click');
});
collection[i].addEventListener('focus', function(e){
console.log('focus');
})
collection[i].addEventListener('keyup', function(e){
console.log('keyup');
})
collection[i].addEventListener('keypress', function(e){
console.log('keypress');
})
ps:我不想要任何jquery
答案 0 :(得分:0)
根据文档,keypress
仅适用于生成字符值的键。正如@adeneo所提到的,keyup
似乎在向下键上工作。诀窍是专注于按钮。
https://developer.mozilla.org/en-US/docs/Web/Events/keypress