javascriptのイベント処理を行う関数のコードを見ると、return falseとか書いてありますが、あれは意味があるのでしょうか?returnだけでも良いのですか?return falseとreturn trueでは意味が違うのですか? 特にそのイベント処理を行う関数の中でboolean値を返す必要がない場合、どういう風にその関数を終わらせるのがベストでしょうか?そもそも、return無しで終わらしてはいけないのでしょうか?
あれは意味があります。元々inputのsubmitや、a要素では、クリック時などデフォルトのイベントがあるので、それらのイベントの発火を止める事ができます。また、バブリングも止まるので、例えば、a要素にクリックイベントを割り当てて、その親要素にもクリックイベントが割り当てられている場合、両方の動きを止めれます。もちろんtrueとfalseは真逆の意味です。
ありがとうございます。falseでreturnだと止めるで、trueでreturnだと止めないということなのですね!
本来そういった目的で使うものではないので、可読性を保つためにもevent.preventDefault()とevent.stopPropagation()を使いわけましょう。
ありがとうございました。それら両方を関数内で使っていて最後にreturn falseってやっているサンプルコードを見て疑問に思い、質問させて頂いたという経緯でございます!
なら普通にreturn falseは関数の終了と戻り値が無いという事です。
戻り値がないということを明示的に表す意味があったのですね。知りませんでした!
みんなの回答 1 件
あれは意味があります。
元々inputのsubmitや、a要素では、クリック時などデフォルトのイベントがあるので、それらのイベントの発火を止める事ができます。
また、バブリングも止まるので、例えば、a要素にクリックイベントを割り当てて、その親要素にもクリックイベントが割り当てられている場合、両方の動きを止めれます。
もちろんtrueとfalseは真逆の意味です。
関連するトピックス