onClick returnについて

[新着] Webテンプレートを仮オープンしました



0   名前: ウッキー : 2006/04/25 17:51
普通の書き方は、onClick="Kansu()"ですが、onClick="return Kansu()"という
のを見ました。どうちがうのでしょうか。

1   名前: m035 : 2006/04/25 17:51  [URL
たとえば、

function Kansu(){
/*処理*/
return false;
}

<a href="#" onClick="return Kansu()">link</a>

のように、onclick="Kansu();return false;"を短くするために
Kansu()からfalseを返すようにすることがあります。
なぜ、return falseするのかといえば、この例で言うところの
リンクをクリックしたときの本来のリンクによるページ遷移を無効化し、
結果としてJavaScriptのみを実行するためです。
これが一番多い使い方だと思います。他にも用途はあるでしょうけど。

2   名前: ウッキー : 2006/04/25 17:51
ありがとうございました。少し分かったような気がします。

3   名前: かわうそ : 2006/04/25 17:51
function Kansu(){
/*処理*/
if(判定){
  return true;
} else {
  return false;
}
}

<a href="リンク先URL" onClick="return Kansu()">link</a>

ちなみに上記のような例であれば
Kansu()の戻り値がtrueであれば"リンク先URL"へ遷移し、
戻り値がfalseであれば遷移はしません。

つまりonclickの戻り値によってhref先へ遷移するかどうかが決まるので
その判定を関数内で行う、みたいな使い方もあります。

一覧へ戻る