preventDefaultとreturn falseの違い

知らずにprevetnDefaultを使っていたので違いについて調べてみました。

jQueryはDOM要素を、ツリー形式で持っています。 クリックされた時に、親要素が aタグをクリックすると子要素から親要素にも伝わります。 その時の挙動の違いが以下です。

preventDefault

親要素へ伝達をしつつ、aタグのリンク機能を無効化する。

return false

return false;を返したあと、aタグ自体のリンク機能を無効化し、
そのクリックイベントを親要素へ伝達しない。