Back to all posts

Detect click outside element


With JQuery

document.addEventListener("DOMContentLoaded", function () {
  const targetDiv = document.querySelector(".site-menu__half");
  const siteMenu = document.getElementById("site-menu");

  document.addEventListener("click", function (e) {
    if (!targetDiv.contains(e.target)) {
      siteMenu.classList.toggle("site-menu--visible");
    }
  });
});

With simple js

$(document).ready(function () {
  const targetDiv = $(".site-menu__half");
  const siteMenu = $("#site-menu");

  $(document).on("click", function (e) {
    if (!targetDiv.is(e.target) && targetDiv.has(e.target).length === 0) {
      siteMenu.toggleClass("site-menu--visible");
    }
  });
});