首页 > 解决方案 > addEventListener('DOMContentLoaded'),function(){ - 需要 2 个参数,但只有 1 个存在

问题描述

我是学习 JavaScript 的新手,一直在尝试学习 DOM 操作以从输入中添加和删除文本,但在 Chrome 控制台中不断收到一条消息,指出“未捕获的 TypeError:无法在 'EventTarget' 上执行 'addEventListener':2 个参数需要,但只有 1 个存在。”

它在第一行抛出错误:

document.addEventListener('DOMContentLoaded'),function(){

我认为它与事件类型之后的结束括号有关,但是当我尝试删除它时,我在最后一行收到“')' Expected”语法错误消息,当我添加结束括号时无法解决。这只是一个简单的语法错误,还是我的代码还有其他问题?

document.addEventListener('DOMContentLoaded'),function(){

    const list = document.querySelector('#movie-list ul');
    const forms = document.forms;

    list.addEventListener('click',(e)=>{
        if(e.target.className == 'delete'){
            const li = e.target.parentElement;
            li.parentNode.removeChild(li);

        }

    });

    const addForm = forms['add-movie'];
    addForm.addEventListener('submit', function(e){
        e.preventDefault();

    const value = addForm.querySelector('input[type="text"]').value;
    const li = document.createElement('li');
    const movieName = document.createElement('span');
    const deleteBtn = document.createElement('span');
    
        movieName.textContent = value;
        deleteBtn.textContent = 'delete';
    
        movieName.classList.add('name');
        deleteBtn.classList.add('delete');
    
        li.appendChild(movieName);
        li.appendChile(deleteBtn);
        list.appendChild(li);
    });
    
}

标签: domaddeventlistenerdomcontentloaded

解决方案


推荐阅读