繁体   English   中英

用JavaScript按下Enter键时调用函数

[英]Calling a function when enter key is pressed with JavaScript

我正在使用addEventListener将事件绑定到节点。 addEventListeneraddItem函数添加到节点。 但是当我按Enter键时,该功能未运行。

这是JavaScript:

document.getElementById('add-item').addEventListener('keypress', function (e) {
    if (e.keyCode == 13) {
            addItem();
    }
}, false);

function addItem() {
    var list = document.querySelector('ul.todo-list');
    var newItem = document.getElementById('new-item-text').value;
    var newListItem = document.createElement('li');
    newListItem.className = 'todo-item';
    newListItem.innerHTML = newItem + '<span class="remove"></span>';
    list.insertBefore(newListItem, document.querySelector('.todo-new'));

    //1. Empty the Input field once the item 
    document.getElementsByTagName('input')[0].value = '';
}

这是HTML:

<li class='todo-new'>
    <input id='new-item-text' type='text'/>
    <a id='add-item' href='#'>+</a>
</li>

另一方面,该功能通过click运行

document.getElementById('add-item').addEventListener('click', addItem, false);

我只想使用JavaScript而不使用jQuery库。

编辑:我想将事件附加到输入字段。

我敢打赌,当您按Enter键时, add-item元素不会成为焦点。 而是尝试将触发器更改为输入字段。

document.getElementById('new-item-text').addEventListener('keypress', function (e) {
    if (e.keyCode == 13) {
            addItem();
    }
}, false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM