m.hr возвращает false, а анонимная функция, переданная в $().click ничего не возвращает. Наверное надо return router.hr(this,rd); Ну или return false в конец $().click(function(){})
А вообще лучше e.preventDefault()
$("#c a").click() работает только для тех элементов, которые находятся в DOM'e в момент выполнения скрипта. Если после выполнения скрипта в DOM добавились элементы, на них нет евентов. Надо делегировать евенты с помощью $.on, например $(document).on('click', '.mylink', function(){})