I'm trying to figure out how to get the clicked element whey using $(document).click() method:
$(document).click(function() {
if ($(this) !== obj) {
obj2.hide();
}
});
In the example above the obj is the object is the dropdown menu - and if clicked I don't want it to do anything, but if the click was on the body of the page or any other element - it should trigger the hide() method.
You can use event.target. You should also compare DOM elements instead of jQuery objects, since two jQuery objects containing the same elements will still be considered as different:
$(document).click(function(event) {
if (event.target !== obj[0]) {
obj2.hide();
}
});
You most likely want to check all parent elements + the target itself for .topNavigation
class
$(document).click(function(event) {
if ( !$(event.target).closest( ".topNavigation" ).length ) {
obj2.hide();
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With