我有一个名为Dialog
的组件,其中我在window
对象上的鼠标单击上附加了一个事件侦听器。如何检查用户是否在当前组件内单击?
componentDidMount() {
document.addEventListener('click', this.handleClick);
}
componentWillUnmount() {
document.removeEventListener('click', this.handleClick);
}
我怎样才能检测(在功能)是否有点击的组件内部还是外部的被解雇?请注意,此对话框包含不同的元素和子组件。
我发现关于组件的外部检测的点击这个问题。 http://stackoverflow.com/questions/32553158/detect-click-outside-react-component我想你可以解决方案,并检测组件内的点击。 – Jackowski
@Jackowski谢谢,我会尝试。被接受的答案(作者自己)声明他将点击回调附加到文档主体时存在问题:“因为React的重新渲染发生在文档主体处理程序被调用之前,所以元素没有被检测为”在树内“。任何想法为什么? – Matthew