当前位置: 首页 > 知识库问答 >
问题:

如何获取已单击按钮的id?反应

洪飞鸿
2023-03-14

我想知道我将如何获得被点击的按钮的id(因为它是未知的)。因此,当单击按钮时,我知道该特定按钮的id是什么。页面上有很多按钮,我想知道按下了哪个按钮(它们都有唯一的id)。当前按钮如下所示:

  <button key={uuidv4()} id={this.props.keyword} value={this.props.keyword} onClick={this.props.onClick} className="removeButton">Remove</button>

共有3个答案

夏侯瑞
2023-03-14

我知道这已经得到了回答,但我正在与反应和面临类似的问题,失去了2小时试图弄清楚为什么event.target.id有时是空或空字符串

这就给我解决了:

class Button extends React.Component {

    getButtonId = (e) => {
      console.log(e.currentTarget.id);
    }

    render() {
       return (
          <button id="yourID" onClick={this.getButtonId}>Button</button>
       );
    }
}
卢健
2023-03-14

您可以使用event.target.id获取按钮点击的ID

class App extends React.Component {
  constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this);
  }
  handleClick(event) {
    const id = event.target.id;
    console.log(id);
  }
  render() {
    return (
      <button id="unique-id" onClick={this.handleClick}>Button</button>
    );
  }
}
ReactDOM.render(<App />, document.getElementById("root"));
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>
曹君墨
2023-03-14

如果元素是嵌套的event.target不会总是工作,因为它首先引用触发事件的目标。请参阅此链接,了解event.currentTarget的用法,它始终引用处理程序绑定到的元素。

另一种获取元素及其属性的方法是使用React引用。当试图在React中获取DOM元素时,这更常见。

 类似资料:
  • 问题内容: 如何找到被点击的按钮的ID? 问题答案: 您需要发送ID作为功能参数。像这样做: 这将发送ID 作为您可以在您的函数中使用。

  • 我试图在单击某个按钮时显示该按钮的值。如果我在eventListener中为此编写代码,则会弹出警报,但不会显示文本。 我已尝试将警报移动到eventListener上方和for循环内部,这将在页面加载时显示正确的值。 按钮的HTML格式: Javascript:

  • 编辑:底部的解决方案 这是一个跳棋游戏。单击一个按钮后,它等待单击第二个按钮与之交换。然而,有时你可能不想移动那个按钮,但一旦你点击了它,就没有回头路了,因为我无法禁用它。 在这里的其他帖子中,我看到人们使用 这只是使它在第一次单击后不可见。 这什么都干不了。 这也没什么用。编辑:所有这些方法都用true和false进行了尝试。 私有无效交换(){ 但你也需要 这样它就重新启用了它,或者其他什么,

  • 对此表示歉意; 谢谢你

  • 问题内容: 我需要提取表中每列的详细信息。例如,列“名称/编号”。 该表包含多个地址 每行的最后一列都有一个按钮,使用户可以选择列出的地址。 问题: 我的代码仅选择具有类的第一个。我该如何工作? 这是jQuery位: 表: 问题答案: 练习的目的是找到包含信息的行。当我们到达那里时,我们可以轻松提取所需的信息。 回答 现在,让我们集中讨论这种情况下的一些常见问题。 如何找到最接近的行? 使用: 使