I have a dynamically appended menu which I am removing if you click anywhere on page including the menu links itself. What I am trying to achieve is to prevent the remove if yo
$('html').click(function(e) {
/* exept elements with class someClass */
if($(e.target).hasClass('someClass')){
e.preventDefault();
return;
}
/* but be carefull the contained links! to be clickable */
if($(e.target).is('a')){
return;
}
/* here you can code what to do when click on html */
});
You can also detect clicks on the whole document and check if the current element clicked is your menu element
$(document).click(function(event){
if(event.target !== $('.menu')[0]) {
// hide the menu...
}
});
Maybe it will work like this
$('html').click(function(e) {
if(!$(e.target).hasClass('solid') )
{
$('.menu').remove();
}
});
see: http://jsfiddle.net/fq86U/2/
have you tried this:
$('.menu a').click(function(event){
event.stopPropagation();
});