【发布时间】:2023-02-23 03:46:12
【问题描述】:
HTML
<input type="number" value="0" class="number" />
JS
function addGlobalEventListener(type, selector, callback) {
document.addEventListener(type, (e) => {
if (e.target.matches(selector)) callback(e)
})
}
// "click" event WORKS (console logs out '0')
addGlobalEventListener("click", ".number", (e) => {
console.log(e.target.value)
})
// "focus" event DOESN'T WORK (console doesn't log out anything -- not even an error).
addGlobalEventListener("focus", ".number", (e) => {
console.log(e.target.value)
})
如果我使用简单的事件侦听器,焦点事件确实有效:
// console logs out '0'
const number = document.querySelector(".number")
number.addEventListener("focus", (e) => {
console.log(e.target.value)
})
谁能告诉我全局事件侦听器和“焦点”有什么问题?
【问题讨论】:
标签: javascript addeventlistener