Это потому, что ваши события начала и окончания AJAX никогда не запускаются. Зачем? Потому что простое нажатие на ссылку не является запросом AJAX и не вызывает глобальные события AJAX. Чтобы использовать глобальные события AJAX, вам необходимо использовать функцию AJAX, такую как .get (), .load () или $ .ajax ()
Код ниже, в основном, ваш ... Я только что добавил 2 строки (которые могут быть даже уменьшены до 1, но я думаю, что так выглядит лучше)
var disableLinks = true;
$('a').click( function( e )
{
if( disableLinks )
{
e.preventDefault( );
}
var self = $(this);
$.ajax( { "url": self.attr( 'href' ) } );
} );
$('a').ajaxStart( function( )
{
disableLinks = true;
} );
$('a').ajaxStop( function( )
{
disableLinks = false;
} );