クリックされた場所の外側でポッパーを閉じる方法


以下の手順に従って、ポッパーがクリックされた場所の外側で閉じる方法を実装できます。

  1. クリックイベントリスナーを追加する: ポッパーが表示されたときに、ウェブページ全体にクリックイベントリスナーを追加します。

  2. クリックイベントの処理: クリックイベントリスナー内で、ユーザーがクリックした場所がポッパー自体か、またはポッパーの内部要素であるかどうかをチェックします。

  3. ポッパーの外側をクリックした場合の処理: ユーザーがポッパーの外側をクリックした場合、ポッパーを閉じる処理を行います。この処理には、ポッパーを非表示にするための適切なコードが含まれます。

ここにJavaScriptのコード例を示します。

// ポッパー要素の取得
const popper = document.getElementById('popper');
// クリックイベントリスナーの追加
document.addEventListener('click', function(event) {
  // クリックされた要素がポッパー自体か、ポッパーの内部要素であるかをチェック
  const isClickedInsidePopper = popper.contains(event.target);
  // ポッパーの外側をクリックした場合の処理
  if (!isClickedInsidePopper) {
    // ポッパーを非表示にする処理をここに記述
    popper.style.display = 'none';
  }
});

上記のコードは、popperというIDを持つ要素を取得し、クリックイベントリスナーを追加しています。クリックされた要素がポッパー自体またはポッパーの内部要素でない場合、ポッパーを非表示にする処理が行われます。

この方法を使えば、ポッパーが表示された状態でユーザーがポッパーの外側をクリックした場合に、ポッパーを閉じることができます。