私はちょうど反応でめっきを始めました。私は現在、材料-uiを使用してnavbarに取り組み、反応しています。メニューの上にマウスを置くと、ドロップダウンが表示されます。しかし、ドロップダウンを閉じるには、ドロップダウンの外側をクリックする必要があります。ドロップダウンから移動したり、別のメニューオプションに移動したりすると、ドロップダウンを閉じることができます(別のドロップダウンが表示されるはずです)。このようなもの:https://www.palantir.com/マウスオーバー時にメニューを開き、反応中のマウスリーブ上でメニューを閉じる
私は周りを見回しましたが、解決策が見つかりませんでした。これは私が得た最も近いものでした:Material-ui: open menu by event hover
同じテクニックを使って試してみましたが、これを私のコードに追加しましたが、役に立たなかったのです。助言がありますか?ありがとう!
編集:ここで問題を再現しました:https://react-xmaiyw.stackblitz.io 「なぜ私たち」をクリックすると問題が発生する可能性があります。
handleClick = (event) => {
event.preventDefault();
this.setState({
open: true,
anchorEl: event.currentTarget,
});
};
handleRequestClose =() => {
this.setState({
open: false,
});
};
render() {
return (
<FlatButton
onClick={this.handleClick}
onMouseOver={this.handleClick}
onMouseLeave={this.handleRequestClose} //When I add this line of
//code, it keeps flickering very fast almost as if drop-down
//doesn't open
label="Why Us?"
/>
)}
これはあなたが探している答えであるかどうかわかりませんが、あなたは既にかなりのJavaScriptを書いているようですが、これはCSS疑似要素 'ホバー'を使ってJavaScriptなしで非常に簡単に行うことができます。 W3Schoolsには、ドロップダウンメニューの[ここに設定](https://www.w3schools.com/howto/howto_css_dropdown.asp "ドロップダウンメニュー")でこれを実装する方法に関する優れたチュートリアルがあります。これがあなたが探していた効果でない場合マークアップを含めて、あなたが行っていることをより完全に見ることができるようにしてください。 –
私はCSSと比較してjsで動作させようとしています。私は私の元の質問を編集し、私の問題の作業リンクを追加しました。ありがとう:) – abidishajia