首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用ReactJS触发onClick和onHover CSS动画?

问如何用ReactJS触发onClick和onHover CSS动画?
EN

Stack Overflow用户
提问于 2019-03-23 13:09:35
回答 1查看 235关注 0票数 0

如何为bellow ReactJS按钮组件触发onClick和onHover CSS动画?

我试过使用ref = {input => (this.inputElement = input)},但只点击了按钮,没有动画。

代码语言:javascript
复制
          <td>
            {this.state.buttons.slice(0, 4).map(btn => (
              <button
                onClick={() => this.handleClick(btn)}
                key={btn}
                className={this.getBadgeClasses(btn)}
              >
                {btn}
              </button>
            ))}
          </td>

我需要这个,这样我才能从键盘事件中触发这两个动画。

EN

回答 1

Stack Overflow用户

发布于 2019-03-23 19:24:00

基本上,当您使用鼠标或键盘(Enter或空格键)按下按钮时,onClick会起作用。

当您将光标移动到按钮上时,浏览器将调度onMouseOver;如果您使用键盘聚焦按钮,浏览器将调度onFocus。

将:hover和:focus样式放在一起是很常见的做法。要向按钮添加CSS动画,只需传递:焦点如下:

代码语言:javascript
复制
.btn-classes:hover,
.btn-classes:focus {

}

但是,如果您想将JS动画添加到组件,请将onFocus prop传递给button。以下内容可能会对您有所帮助:

代码语言:javascript
复制
          <td>
            {this.state.buttons.slice(0, 4).map(btn => (
              <button
                onClick={() => this.handleClick(btn)}
                onFocus={() => this.handleFocus(btn)}
                key={btn}
                className={this.getBadgeClasses(btn)}
              >
                {btn}
              </button>
            ))}
          </td>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55310813

复制
相关文章

相似问题

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