Небольшая заметка про обработчики событий в jQuery.
Очень часто в различных примерах с использованием jQuery можно увидеть конструкции вроде:
$('a.link').click(function () {
...
return false;
});где в функции-обработчике события в целях предотвращения перехода по href после выполнения JS вместо
event.preventDefault() используется return false. И это легко объяснимо — проще написать и не нужно ничего лишнего передавать в функцию. Однако подводный камень заключается в том, что возвращение false кроме вызова event.preventDefault() так же вызывает event.stopPropagation(), что в дальнейшем не позволяет использовать обработчики на родителях. В 95% случаев это не ожидаемое поведение и может привести к длительному happy debugging. Не усложняйте себе жизнь.Подробнее и с примерами (en): http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/
Кроме того, автор затрагивает тему правильного расположения вызова
event.preventDefault().Хорошего дня!