- ベストアンサー
次の記述で
<p> <a href="#" onclick="add_com();return false;">『要素追加』</a> </p> href="#" の意味と使い方 ;return false; はなぜいるのか、いる場合はどんな場合か について教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ボタンを押してJavascriptを呼ぶ場合とちがって、 <a>のonClickでJavascriptを素直に呼ぼうとすると ページが切り替わろうとしてしまいます。 いずれも、それを防ぐためのテクニックです。 「href=#」は、同じページ内を飛び先に指定する書き方です。 縦スクロールの出るようなページの途中に <a name="hoge"> という記述を入れておき、 <a href="#hoge">ほげへ飛ぶ</a> のリンクをクリックすると、その場所に飛びます。 「href=#」とすると、ページの先頭になります。 飛び先を自ページにすることで、ページの切り替わりを回避します。 「return false;」は、onClickイベントをキャンセルします。 onClickにかぎりませんが、イベントハンドラの中で 「return false;」とすると、ブラウザはその後の処理をせず、 クリックがなかったことになります。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>href="#" >の意味と使い方 <a>でリンクを作るには、hrefによるリンク先の指定が必要ですが、リンクがあることを表示するだけの意味で、クリックするとjavascriptの関数を呼び出すだけが目的の場合は、リンク先アドレスを書いてもしょうがないので、そういうような場合に"#"を書きます。 #は、普通そのページの飛び先を指定するときの書き方ですが、そのページと飛び先が省略されている場合には、そのページへのリンクと同じことです。 ブラウザによっては、ページが更新されます。 >;return false; >はなぜいるのか、いる場合はどんな場合か onclickの処にjavascriptを書く場合、複数の命令になる場合には命令の区切りとして";"が必要です。 onclickの動作が終わったときに、hrefで指定されたリンク先への変移が起こる(前述したように、hrefに#を指定した場合、自ページが更新される)ので、画面の更新をしたくない場合、その動作を無効にする必要があります。 return falseを指定しておくと、そのイベント(この場合はオンクリックイベント)を無効にして、何も起こらなかったことにできます。 (処理自体は処理済みだが、リンク先への変移が起こらない)
お礼
詳しい説明ありがとうございます
お礼
ありがとうございます PCが死んでいて回答をやっと受け取れました