javascript 检测组件外部的点击次数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 检测组件外部的点击次数相关的知识,希望对你有一定的参考价值。
import React, { Component } from 'react'
import PropTypes from 'prop-types'
/**
* Component that alerts if you click outside of it
*/
export default class OutsideAlerter extends Component {
constructor(props) {
super(props)
this.setWrapperRef = this.setWrapperRef.bind(this)
this.handleClickOutside = this.handleClickOutside.bind(this)
}
componentDidMount() {
document.addEventListener('mousedown', this.handleClickOutside)
}
componentWillUnmount() {
document.removeEventListener('mousedown', this.handleClickOutside)
}
/**
* Set the wrapper ref
*/
setWrapperRef(node) {
this.wrapperRef = node
}
/**
* Alert if clicked on outside of element
*/
handleClickOutside(event) {
if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {
alert('You clicked outside of me!')
}
}
render() {
return <div ref={this.setWrapperRef}>{this.props.children}</div>
}
}
OutsideAlerter.propTypes = {
children: PropTypes.element.isRequired,
}
以上是关于javascript 检测组件外部的点击次数的主要内容,如果未能解决你的问题,请参考以下文章
如何检测mat-form-field的外部点击?
检测用户点击按钮的次数
如果外部 ADO 连接已连接或断开,如何检测组件内部?
为啥从内部组件中更改 @Input 变量会导致它无法检测到来自外部组件的新更改?
检测是不是使用外部 JavaScript 文件创建了 html 元素
typescript 检测是否在主机组件外部进行了单击