Вы не совсем понимаете функции как первоклассные объекты.Когда вы видите это:
foo()
Это вызываемая функция foo
.Когда вы видите это:
foo
Это переменная.Переменные могут содержать функции.
Ваш код выглядит следующим образом:
$(element).bind('click', foo() );
Когда вы видите ()
после foo
, это означает, что он вызывает функцию и заменяет ссылку наэто с его возвращаемым значением.Это не то, что вы хотите.То, что вы хотите, это просто передать функцию в качестве переменной.Это будет выглядеть так:
$(element).bind('click', foo);
Таким образом, обратный вызов регистрируется со ссылкой на функцию, и эту функцию можно вызывать при необходимости, а не сразу.
В частности,Ваш код должен выглядеть следующим образом:
$("#calendar_menu_item").bind('click', loadCalendarContent);
$("#patient_menu_item").bind('click', loadPatientContent);