Here's your problem
$('ul.ulMenu li a').on("click", function (e) {
e.preventDefault();
$("#container").load(this.href, function () { // you are replacing the html contents with the returned data
}).hide().fadeIn('fast');
return false;
});
Since they are new elements just loaded into the DOM, they don't have any event handlers attached to them because they did not exist at the time of binding. What you would have to do is
Delegate to a parent that exists at the time of binding and will be static
Since you are loading into the #container div - you can always bind it to that element
$("#container").on('click','.showMenu',function(){
$(".ulMenu").fadeIn().css({ 'display':'block'});
});
$('#container').on('mouseleave','.ulMenu',function(){
$(this).fadeOut('slow').css({ 'display':'none'});
});
$('#container').on('click','ul.ulMenu li a',function(e){
e.preventDefault();
$("#container").load(this.href, function(){
}).hide().fadeIn('fast');
return false;
});
Or bind new event handlers in the success function to the elements after they are loaded