We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关键词:事件委托应用场景
这个问题属于一个典型的「事件委托」的应用场景 如果知识背诵八股文的同学, 可能这个问题就尴尬了
这个问题属于一个典型的「事件委托」的应用场景
如果知识背诵八股文的同学, 可能这个问题就尴尬了
当把事件委托注册在 body 上时,可以通过以下方法针对性地触发不同子元素的特定行为:
body
一、利用事件对象的属性判断目标元素
event.target 属性:
event.target
document.body.addEventListener("click", function (event) { const target = event.target; if (target.classList.contains("button1")) { // 处理按钮 1 的点击事件 } else if (target.classList.contains("button2")) { // 处理按钮 2 的点击事件 } });
classList
matches() 方法:
matches()
event.target.matches(selector)
document.body.addEventListener("click", function (event) { const target = event.target; if (target.matches("#element1")) { // 处理元素 1 的点击事件 } else if (target.matches(".class2")) { // 处理具有特定类名的元素的点击事件 } });
二、使用数据属性进行区分
data-*
<button data-action="action1">Button 1</button> <button data-action="action2">Button 2</button>
document.body.addEventListener("click", function (event) { const target = event.target; if (target.dataset.action === "action1") { // 处理按钮 1 的点击事件 } else if (target.dataset.action === "action2") { // 处理按钮 2 的点击事件 } });
data-action
通过这些方法,可以在事件委托到 body 的情况下,有针对性地处理不同子元素的事件,提高代码的效率和可维护性。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
关键词:事件委托应用场景
当把事件委托注册在
body
上时,可以通过以下方法针对性地触发不同子元素的特定行为:一、利用事件对象的属性判断目标元素
event.target
属性:body
上触发时,可以通过event.target
来获取实际触发事件的元素。event.target
的classList
来确定点击的是哪个特定的按钮,然后执行相应的处理逻辑。matches()
方法:event.target.matches(selector)
方法来检查目标元素是否与特定的 CSS 选择器匹配。matches()
方法来判断点击的元素是否与特定的 ID 或类名选择器匹配,从而执行相应的操作。二、使用数据属性进行区分
data-*
属性:data-*
属性来标识不同的元素,并在事件处理函数中根据这些属性进行区分。data-action
属性的值来确定执行哪个特定的操作。通过这些方法,可以在事件委托到
body
的情况下,有针对性地处理不同子元素的事件,提高代码的效率和可维护性。The text was updated successfully, but these errors were encountered: