-2
메뉴 아이콘을 클릭하면 메뉴가 열리고 메뉴가 열립니다. 반응 상태를 사용하여이 작업을 수행했습니다. 사용자가 메뉴 요소 외부를 클릭하면 드롭 다운 메뉴를 닫을 수 있습니까?javascript/reactjs를 사용하여 바깥 쪽을 클릭하면 메뉴가 닫힙니다.
드롭 다운 메뉴
class DropDown extends Component {
constructor(props) {
super(props);
this.myFunction = this.myFunction.bind(this);
this.state = {
openmenu:false
}
};
myFunction(e) {
e.stopPropagation();
this.setState({
openmenu: !this.state.openmenu
})
}
render() {
return (
<div className="dropdown small_font" id="myDropdown" onMouseDown={this.onMouseDown} onMouseUp={this.onMouseUp}>
{/*<img src={settings} onClick={this.myFunction} className="user_settings_icon"></img>*/}
<i className="fa fa-cog user_settings_icon" style={{marginTop: '6px'}} onClick={this.myFunction}
aria-hidden="true"></i>
{this.state.openmenu?
<div className="dropdown-content" id="myDropdown2">
{/*<div id="myDropdown" className={this.props.actionDropDownCSS}>*/}
<a className="dropdown_item"><i className="fa fa-trash-o margin_right10px" aria-hidden="true"></i>Delete</a>
<a className="dropdown_item"><i className="fa fa-flag-o margin_right10px" aria-hidden="true"></i>Report</a>
<a className="dropdown_item"><i className="fa fa-minus-square-o margin_right10px" aria-hidden="true"></i>Unfriend</a>
<a className="dropdown_item"><i className="fa fa-sign-out margin_right10px" aria-hidden="true"></i>Leave group</a>
</div>:null
}
</div>
);
}
}
didnt가 작동 할 아이콘 상 및 onblur() 이벤트를 추가하고 메뉴를 종료하는 함수를 작성할 수 있습니다 오늘 아침에 같이 왔니? 그것에 무슨 일이 있었는데 ?? –
[자바 스크립트에서 요소 외부를 클릭하면 요소를 제거하는 방법?] (https://stackoverflow.com/questions/47428348/how-to-remove-element-when-clicking-outside-the-element-in) -javascript) – mersocarlin
나는 나를 도왔던 대답을 얻지 못했다. @RajkumarSomasundaram – CraZyDroiD