jQuery click anywhere in the page except on 1 div

Vincent Roye picture Vincent Roye · Sep 30, 2012 · Viewed 116.8k times · Source

How can I trigger a function when I click anywhere on my page except on one div (id=menu_content) ?

Answer

Adil picture Adil · Sep 30, 2012

You can apply click on body of document and cancel click processing if the click event is generated by div with id menu_content, This will bind event to single element and saving binding of click with every element except menu_content

$('body').click(function(evt){    
       if(evt.target.id == "menu_content")
          return;
       //For descendants of menu_content being clicked, remove this check if you do not want to put constraint on descendants.
       if($(evt.target).closest('#menu_content').length)
          return;             

      //Do processing of click event here for every element except with id menu_content

});