「ある要素を、それ以外の要素がクリックされたら閉じる」
のような処理はどう実装するのがベストなのでしょうか?
モーダルウインドウでは半透明の黒幕を表示してそこでイベントを受けるというやり方を見ますが
他のコントロールへのイベントは生かしたままにしたいです
要素にtabindexを付けてフォーカスを持たせて、focusoutを検出したらいいのでは?
と思ってやってみたのですが、ブラウザ以外のアプリにタスク切り替えしても反応してしまいました
あとはdocumentに一時的なclickイベントリスナを付けるくらいしかなさそうですが
これだと他のイベントリスナでstopPropagationされたら反応しなくなると思います
つまり、考えついたどの方法にも何かしら問題があるのです・・
問題のない方法はないでしょうか?