没有合适的资源?快使用搜索试试~ 我知道了~
不过很多产品经理在提需求的时候是不喜欢这种方式的,因此我们可以使用另一种方法,直接在 React 根容器中监听点击事件:然后在组件中我们动态的设置对于根元素
资源推荐
资源详情
资源评论
[![返回目录](https://parg.co/UY3)](https://parg.co/U0I)
[![](https://parg.co/UbM)](https://parg.co/bWg)
# 事件应用实践
# 点击事件
## 外部触发关闭
点击事件是 Web 开发中常见的事件之一,我们在上文中介绍的基本事件绑定也是以点击事件为例。这里我们想讨论下另一个常见的与点击相关的需求,即点击组件外部分触发事件处理。典型的用例譬如在弹出窗中,我们希望点击弹出窗外的部分自动关闭弹出窗,或者某个下拉菜单打开状态下,点击其他部分自动关闭该菜单。这种需求有一种解决思路是为组件设置一个全局浮层,这样可以将组件外的点击事件绑定到浮层上,直接监听浮层的点击即可。不过很多产品经理在提需求的时候是不喜欢这种方式的,因此我们可以使用另一种方法,直接在 React 根容器中监听点击事件:
```
window.__myapp_container = document.getElementById('app')
React.render( , window.__myapp_container)
```
然后在组件中我们动态的设置对于根元素的监听:
```
import { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
export default class ClickListener extends Component {
static propTypes = {
children: PropTypes.node.isRequired,
onClickOutside: PropTypes.func.isRequired
}
componentDidMount () {
window.__myapp_container.addEventListener('click', this.handleDocumentClick)
}
componentWillUnmount () {
点击阅读更多
资源评论
韩金虎
- 粉丝: 28
- 资源: 285
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功