将EventListener添加到按钮

时间:2015-04-14 17:09:06

标签: javascript

我有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

1 个答案:

答案 0 :(得分:0)

根据文档,keypress仅适用于生成字符值的键。正如@adeneo所提到的,keyup似乎在向下键上工作。诀窍是专注于按钮。

https://developer.mozilla.org/en-US/docs/Web/Events/keypress