点击鼠标时,获得具体的html元素?

当鼠标在某个html元素上点击的时候,console.log中显示这个html元素

<p>content in p</p>
<input>content in input</input>
<textarea>
content in textarea
</textarea>
<script charset="utf-8" type="text/javascript">
function handler(event) {
    var x = document.activeElement.tagName;
    console.log(x);
    }
document.addEventListener('click', handler);
</script>

这段代码快达到目标了
鼠标点在 content in input , console中显示 input;
鼠标点在 content in textarea , console中显示 textarea;
鼠标点在 content in p , console中显示 body,可否让它显示p这个html元素?

阅读 1.7k
2 个回答

应该是冒泡或者事件捕获的原因用stopPropagation去除一下

试试这个

function handler(event) {
  console.log(event.target.tagName)
    }
document.addEventListener('click', handler)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题