首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有jQuery的情况下获取事件目标

如何在没有jQuery的情况下获取事件目标
EN

Stack Overflow用户
提问于 2013-10-16 04:31:33
回答 2查看 2.1K关注 0票数 3

我一直在尝试从鼠标中心事件中获取目标(元素),但到目前为止还没有成功!

守则:

代码语言:javascript
运行
复制
<ul id="ul">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>

<script>
    var ul = document.getElementById('ul');

    ul.onmouseenter = function(e) {
        console.log(e.target);
    };
</script>

不幸的是,控制台一直在打印<ul />元素。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-16 04:36:19

这是因为onmouseenter事件不是“冒泡”事件,因此它只在输入UL元素时触发,而不是在输入嵌套元素(如LI元素)时触发。

因此,e.targetthis元素都是UL

如果您使用onmouseover,它就会冒泡,所以当您输入LI元素时,会得到LI作为e.target

票数 6
EN

Stack Overflow用户

发布于 2013-10-16 04:38:24

你可以得到目标的李:

代码语言:javascript
运行
复制
function getEventTarget(e) {
    e = e || window.event;
    return e.target || e.srcElement; 
}

var ul = document.getElementById('ul');
ul.onclick= function(event) {
    var target = getEventTarget(event);
    console.log(target.innerHTML);
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19395287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档