1 回答
TA贡献1802条经验 获得超6个赞
JSFiddle
你需要使用document.querySelectorAll和classList.toggle
HTML
<div class="foo">When I mousedown/up on this</div>
<div class="foo">When I mousedown/up on this</div>
<div class="bar">Give/remove the 'baz' class to/from this</div>
<div class="bar">Give/remove the 'baz' class to/from this</div>
事件
function addClass() {
document.querySelectorAll('.bar').forEach(elm => elm.classList.toggle("baz"))
}
function removeClass() {
document.querySelectorAll('.bar.baz').forEach(elm => elm.classList.toggle("baz"))
}
订阅
document.querySelectorAll('.foo').forEach(elm=> {
elm.onmouseenter = addClass
elm.onmouseleave = removeClass
})
您甚至可以使用更短的方法并为两者调用相同的回调(假设您在回调中没有任何其他逻辑
function toggleClass() {
document.querySelectorAll('.bar').forEach(elm => elm.classList.toggle("baz"))
}
document.querySelectorAll('.foo').forEach(elm=> {
elm.onmouseenter = toggleClass
elm.onmouseleave = toggleClass
})
参见JSFiddle
添加回答
举报