Я пытался внедрить модальное закрытие onclick в моей системе. Я уже реализовал модальное событие onclick, используя кнопку закрытия, но не сделал это успешно, когда щелкнул за пределами модального
Я уже пытался добавить прослушиватель onclick на div, но содержимое закрывается, даже если щелкнуть внутри модального окна.
<div
className={"Overlay " + (this.state.hidden? "hidden": "show")}
id={this.props.id + "-container"} onClick={() => {
this.setState({ hidden: true })
}}>
вот мой код визуализации модальной коробки до сих пор
render() {
const contentClassName = this.getContentClassName();
if (this.props.show) {
document.body.style.overflow = 'hidden';
}
const contentStyle = {
width: this.props.width,
height: this.props.height,
position: "relative"
};
return (
<div
className={"Overlay " + (this.state.hidden? "hidden": "show")}
id={this.props.id + "-container"} onClick={() => {
this.setState({ hidden: true })
}}>
<div className={contentClassName}>
<div className={"Overlay-container"} style={contentStyle}>
<a id={this.props.id + '-closeButton'}
className="Overlay-closeBtn icon-close-zoom" onClick={() => {
this.setState({ hidden: true })
}}/>
{this.props.children}
</div>
</div>
</div>
);
}
, как и ожидалось, я хочу, чтобы модал был закрыт при нажатии за пределами модального окна. в настоящее время он закрывается даже после нажатия модального окна.