javascript - Div onclick e.target.id 不工作

标签 javascript html

我正在尝试获取被点击的 div 的 ID。

function select(e) {
  alert('ID : ' + e.target.id);
  // alert('Selected!');
}
div {
  background: red;
  cursor: pointer;
  height: 50px;
  width: 50px;
}
<div id='5' onclick='select()'></div>

我创建了一个 codepen here你可以玩。当我单击 div 时,我收到一条错误消息,指出 eundefined。但是,仅打印 Selected! 的正常警报工作正常。所以这就是 e 的问题。

最佳答案

您没有将任何内容作为参数传递,因此 e 将始终为 undefined。为了获得 event 对象,将 event 对象作为参数传递。

<div id='5' onclick='select(event)'></div>

function select(e) {
  console.log('ID : ' + e.target.id);
}
div {
  background: red;
  cursor: pointer;
  height: 50px;
  width: 50px;
}
<div id='5' onclick='select(event)'></div>


或者将 this 上下文作为参数传递给元素。

function select(ele) {
  console.log('ID : ' + ele.id);
}
div {
  background: red;
  cursor: pointer;
  height: 50px;
  width: 50px;
}
<div id='5' onclick='select(this)'></div>

关于javascript - Div onclick e.target.id 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41690005/

相关文章:

html - 用 100vh 定义的 div 容器的高度太大(看起来它根据窗口大小定位自身)

javascript - 在 Vuejs 中使图片可点击

javascript - $http 通过 AngularJS 获取 id

javascript - 关于 JavaScript、WebSockets、WebGL 的问题

javascript - 在javascript中向对象添加对象

javascript - 如何停止页面底部的动画滚动条?

javascript - Next.js API 路由与 pg-promise

javascript - 如何让 javascript 响应 php 事件?

python - BeautifulSoup 返回意外的额外空格

javascript - 如何在隐藏/显示跨度元素时保留固定宽度显示