вы же сами написали:
$(document).click(function (e) {
if ((e.target || e.srcElement) !== keyOpen[0] && !flag) navBar.removeClass("visible")
});
и
navBar[0].onclick=function(e){
flag=!0;
}
т.е. после нажатия на navBar переменная flag становится равной true и условие:
(e.target || e.srcElement) !== keyOpen[0] && !flag
не выпоняется