私はリアクションが新しく、navメニュー(.mega-menu-overlay)が組み込まれています。マウスオーバーで表示/非表示の代わりにクリック可能に変更していますマウスアウト。 onmouseoverを使用するときに以前はメニューを閉じるために機能していた関数をhandleMenuLeave()と呼びます。私が間違っていることについての洞察はすばらしいでしょう。私のコードは以下の通りです:ブラーのが反応してぼんやりと反応してナビメニューが閉じない
componentDidMount() {
document.addEventListener('scroll',() => {
if (this.state.megaMenuContent) {
if (window.scrollY >= 50) {
window.requestAnimationFrame(() => {
this.handleMenuLeave();
});
}
}
});
if(document.querySelector('.mega-menu-overlay')){
document.querySelector('.mega-menu-overlay').addEventListener('blur',() => {
this.handleMenuLeave();
alert('clicked');
});
}
}
'.megaメニュー-overlay'は、フォーム要素、ボタン、またはリンクされていない場合、' blur'イベントがトリガされません。https://jsfiddle.net/ ss7nt69k/ –
他のすべての要素のクリックを使ってどのように閉じることができますか? – sjw0525