I'm using a color-pic开发者_运维问答ker which should be hidden when a click is made anywhere outside it. The problem is, it disappears even when the click is made inside the picker.
$('body :not(#picker)').click(function() {
$('#picker').fadeOut();
});
I tried this, but it would show the picker and hide it immediately. Does anybody have a suggestion?
Try using event.target to obtain the element that was clicked:
$("body").click(function(event) {
if (event.target.id != "picker") {
$("#picker").fadeOut();
}
});
$("body").click(function(e) {
if ($(e.target).attr('id') == 'picker') {
return;
} else {
$('#picker').fadeOut();
}
});
精彩评论