Проблема в том, что ваше «return false» для отмены поведения тега привязки по умолчанию также отменяет поведение щелчка по переключателю, поэтому он устанавливает его обратно в исходное состояние независимо от действий события click , Установка функций для возврата true показывает ожидаемое поведение (а также функцию щелчка по умолчанию).
Чтобы исправить это, наконец, вы хотите полностью избавиться от события щелчка по умолчанию. Чтобы сделать это, вы можете очень просто изменить href на "#", чтобы он мало что делал при действии. См. http://jsfiddle.net/FrcRx/1/ для примера этого в действии.
лучший способ сделать это - полностью удалить атрибут href. Это, конечно, заставляет большинство браузеров не рассматривать его как ссылку, поэтому вам придется самостоятельно применить соответствующий стиль, чтобы они по-прежнему выглядели как ссылки.
Это делается с помощью функции jAquery removeAttr и функции addClass. Смотрите демонстрацию здесь: http://jsfiddle.net/FrcRx/2/