首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在event.target-Js/ReactJs上添加类名

如何在event.target-Js/ReactJs上添加类名
EN

Stack Overflow用户
提问于 2018-07-30 02:36:38
回答 2查看 8.3K关注 0票数 2

我有一个onclick处理程序:

render() {
  return (
    <div>
      <div className={className} onClick={this.target.bind(this,id)}>{name}</div>
    </div>
  )
}

下面是函数:

target(test, event) {
  event.target.className="addClasss";  
}

我尝试了上面的方法在事件目标上执行addClass,但是有没有更好的方法呢?谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-07-30 02:49:20

class App extends React.Component {
  state = {
    clicked: false,
  };

  handleClick = () => {
    this.setState({ clicked: true });
  }

  render() {
    const { clicked } = this.state;
    const className = clicked ? "newClass" : "";
    const name = "add newClass";
    return (
      <div>
        <div className={className} onClick={this.handleClick}>{name}</div>
      </div>
    );
  }
}
票数 0
EN

Stack Overflow用户

发布于 2020-04-24 22:14:50

有点晚了,但对于未来的搜索者来说:使用jquery:

target(test, event) {
    var element = $(event.target)
    element.addClass('your class');  
}

OBS:我部分同意上面的答案,react是为了处理状态而设计的,但在某些情况下,我们不想关心用状态来控制代码的每一个方面,特别是当有重复的类时,所以我发现使用jquery更容易针对这些元素。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51583381

复制
相关文章

相似问题

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