问题描述
eventListener 函数中的参数是什么? addItem 中的参数 (e) 是做什么的?
let form = document.getElementById("addForm")
form.addEventListener("submit",addItem);
// Add item
function addItem(e) {
e.preventDefault()
console.log(e)
// Get input value
let newItem = document.getElementById("item").value
// Create new li
let newLI = document.createElement("li")
// Add class
newLI.className = "list-group-item"
// Add text node with input
newLI.textContent = newItem
//Delete button
let button = document.createElement("button")
button.className = "btn btn-danger btn-sm float-right delete"
button.textContent = "X"
newLI.appendChild(button)
itemList.appendChild(newLI)
document.getElementById("item").value = ""
}
解决方法
见any documentation for addEventListener
:
回调函数本身与handleEvent()方法有相同的参数和返回值;也就是说,回调接受一个参数:一个基于 Event 的对象,描述已发生的事件,它不返回任何内容。
对于Event:
Event 接口表示在 DOM 中发生的事件。
用户操作可以触发事件,例如点击鼠标 按钮或敲击键盘,或由 API 生成以表示 异步任务的进度。也可以触发 以编程方式,例如通过调用 HTMLElement.click() 方法 一个元素,或者通过定义事件,然后将其发送到指定的 目标使用 EventTarget.dispatchEvent()。
事件的类型很多,其中一些使用其他接口 基于主事件界面。事件本身包含 所有事件共有的属性和方法。