如果用户按下回车键,请执行与单击Javascript

时间:2016-04-15 04:05:37

标签: javascript

如何让我的回车键执行相同的操作和提交按钮?

我的代码在这里,如果用户按下提交,或者按下键盘上的输入按钮,我希望提交表单

我尝试使用带有键码13的if语句,但没有任何对我有用。

这是我的Javascript代码:

window.addEventListener('load', function(){

    // Add event listeners
    document.getElementById('add-item').addEventListener('click', addItem, false);
    document.querySelector('.todo-list').addEventListener('click', toggleCompleted, false);
    document.querySelector('.todo-list').addEventListener('click', removeItem, false);

    function toggleCompleted(event) {
        console.log('=' + event.target.className);
        if(event.target.className.indexOf('todo-item') < 0) {
            return;
        }
        console.log(event.target.className.indexOf('completed'));
        if(event.target.className.indexOf('completed') > -1) {
            console.log(' ' + event.target.className);
            event.target.className = event.target.className.replace(' completed', '');
            document.getElementById('add-item').value='';
        } else {
            console.log('-' + event.target.className);
            event.target.className += ' completed';         

        }
    }

    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'));
        document.getElementById('new-item-text').value = "";
    }

    function removeItem(event) {
        if(event.target.className.indexOf('remove') < 0) {
            return;
        }
        var el = event.target.parentNode;
        el.parentNode.removeChild(el);
    }

    function changeTitle() {
        var title = prompt("change the title");
    }

    function handle(e){
    if(e.keyCode === 13){
    addItem();
    }
    return false;
}

});

2 个答案:

答案 0 :(得分:0)

您必须使用keydown事件,如下所示

   document.onkeydown=function(evt){
   var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
   if(keyCode == 13)
   {
         //your function call here
    }

答案 1 :(得分:0)

尝试将此添加到您的addEventListeners

集合中
document.getElementById('add-item').addEventListener('keydown', handle, false);