javascript - 如何通过 parent 的 onmouseover 事件传递 child ?

标签 javascript html triggers onmouseover

onmouseover 每当鼠标进入该元素或其子元素之一时就会触发。有没有一种好方法只在父级上设置 onmouseover 事件,但它会在参数中传递当前悬停的元素(触发事件)?

 <div id="parent" onmouseover="foo(triggerElement)">  <!-- this ofc doesn't work. How to write this? -->
   <div id="child1" onmouseover="foo(this)">Child 1</div>
   <div id="child2" onmouseover="foo(this)">Child 2</div>
   <div id="child3" onmouseover="foo(this)">Child 3</div>
   <!-- I don't want to set the same onmouseover event for each child -->
 </div>

jsfiddle

我当然可以使用 javascript 将 onmouseover 属性添加到 div 的每个子元素,并使用参数“this”,但这似乎不太好。有更好的方法吗?

最佳答案

像这样的事情应该做到这一点

document.getElementById('parent').addEventListener('mouseenter', function(event) {
    if (event.target !== this)
        event.target.innerHTML = "You just hovered " + event.target.id;
}, true);

FIDDLE

关于javascript - 如何通过 parent 的 onmouseover 事件传递 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34458758/

相关文章:

javascript - NodeJS、Google 日历 API 集成未经过身份验证并返回未定义,无论凭证和 token 是否存在

javascript - 将 'and one other person like this' 添加到我的站点后,如何更改它的颜色?

Bootstrap Modal 的 Javascript 变量

html - IE 中的文字过渡动画效果问题(不知道为什么) HTML+ CSS3

mysql - 无法在mysql中执行触发器

wpf - 使用属性触发器更改已绑定(bind)的属性

javascript - HTML5-WebRTC如何记录

添加新的 if 语句时 javascript 函数不起作用

javascript - 如何缩小重复文本等于并替换为代码

sql - 当某些列 = 0 时动态删除记录;数据清理