1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

モーダルが勝手に閉じる?

Posted at

通常、HTMLやReactでは、子要素で発生したイベント(クリックなど)は親要素にも「バブリング(伝播)」します。

この場合、例えばモーダルの中身をクリックすると、親のoverlayのクリックイベントも発動してしまい、「モーダルを閉じる」処理が動いてしまいます。

「伝播しないように」とは、

子要素(モーダルの中身)をクリックしたとき、そのクリックイベントが親要素(overlay)まで届かないようにする、という意味です。

e.stopPropagation()

を使うことで、

「このクリックは親には伝えない(親のonClickは発動しない)」

という制御ができます。

まとめ:

モーダルの内側をクリックしても、外側のクリック判定(閉じる処理)が動かないようにするための仕組みです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?