akane_memo

これからがんばるための勉強メモ、じぶん用

jsのコードにでてくる return false; ってなんだ

return false;はa要素にclickイベントを設定する際に必要な記述で、
return false;がないとclickイベントを実行した後にリンク先に移動してしまう
それを防ぐ為の記述らしい

return false;をclickイベントの最後に記述すれば、イベントハンドラ自体がfalseを返すことで、
本来イベントが行う処理をキャンセルすることができる

例えば

$(functin(){
      $("a").click(function(){
        $("img").attr("src","cat.jpg").attr("alt","にゃー");
        return false;
     )}
)}
<a href="cat.jpg">画像を変更</a>
<p><img src="dog.jpg" alt="わん"></p>

この場合、a要素がクリックされた際にはjQueryの命令だけが実行され、href属性に設定されたリンク先"cat.jpg"には移動しない

もうひとつ、a要素のhref属性に設定されたリンク先に移動させないようにする方法がある
a要素のhref属性にjavascript:void(0)と設定し、a要素の機能を無効化するもの

<a href="javascript:void(0)">画像を変更</a>
<p><img src="dog.jpg" alt="わん"></p>

この方法は、ユーザーがJavaScriptをオフにしているとリンクをクリックしても変化が起きないのであまりよい方法ではない

return false;を追加したものはa要素のリンクが有効になるので、jQueryで命令した内容にちかいURLをhref要素に設定しておけばユーザは最低限の情報をつかめる