- ベストアンサー
href=" " onclickを使う場合につい
質問です。 a href="#" onclick は思ったように動作しました a href="/" onclick では、一部のブラウザで動作しませんでした。 a href="/"は間違いなのでしょうか。 よろしければ教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
単にトップに帰るだけなら <body id="TOP"> とでもしておいて <a href="#TOP">トップ</a> でよい。 <a href="/">は、そのサイトのルートへのリンクを表しますよ。 たとえば、 hoge.com 内のどこにいても、<a href="/">でトップに戻ります。 このふたつはまったく違います。 <a href="#">は間違っています。#に続いて文字列が必要。 なんのために、ページトップへ移動するためにreturn:fales なのですか?
その他の回答 (4)
- kamepanman
- ベストアンサー率43% (19/44)
そもそもJavaScriptで移動させたいのか、アンカーで移動させたいのかどっちなんですか? アンカーなら、No.3で答えが出てますし、JSでやりたいのであれば、JSが間違っている可能性もありますよ? onclick="return false;"は、デフォルトのaタグの動作をキャンセルする為に入れています。 しかし、<a href="/" onclick="hoge();return false;">でルートにページ遷移する場合は、onclickが正常に動作していないと思われます。
お礼
ご回答いただきありがとうございます。 >そもそもJavaScriptで移動させたいのか、アンカーで移動させたいのかどっちなんですか? >アンカーなら、No.3で答えが出てますし、JSでやりたいのであれば、JSが間違っている可能性もありますよ? 参考にしたソースにJavaScriptが使われいたのでjsを使った方が良いのだと思っていました。 アンカーで移動させることができることをN0.3の方に教えていただきましたので、そちらにしたいと思います。 >しかし、<a href="/" onclick="hoge();return false;">でルートにページ遷移する場合は、onclickが正常に動作していないと思われます。 教えていただきありがとうございます。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
>そこにジャンプするというjsを書きました。 しかし、javascriptを無効にしているユーザーエージェントには・・・ 可能ならjavascriptを使わないようにすべきだと思います。
お礼
ご回答ありがとうございます。 >しかし、javascriptを無効にしているユーザーエージェントには・・・ そうですね。 jsを使わない方法に直してみます。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
>a href="/"は間違いなのでしょうか。 文法上は正しいです。 ですが、文法の正しさと「思った通り」かどうかとは別問題です。 どのような動作が思った通りで、どのように記述したのかがわからなければアドバイスしようがありません。 もしかすると、return falseを書かない方が「思った通り」になる可能性もあります。
お礼
ご回答頂きありがとうございました。 >もしかすると、return falseを書かない方が「思った通り」になる可能性もあります。 このようなこともあるのですね。 初めて知りました。 いろいろ書き足したり抜いたりしてみたいと思います。
- yambejp
- ベストアンサー率51% (3827/7415)
>a href="/" onclick では、一部のブラウザで動作しませんでした。 href="/"の場合はページを移動してしまうので、想定した動作にならないかも 実際のところonclickで指定した処理にreturn falseするようにすると、 リンク移動の処理が回避されるのでいけるかもしれません
お礼
ありがとうございます。 >href="/"の場合はページを移動してしまうので、想定した動作にならないかも >実際のところonclickで指定した処理にreturn falseするようにすると、 >リンク移動の処理が回避されるのでいけるかもしれません 早速このようにしてみました。 <a href="/" onclick="hoge(); return false" > ですが思ったような動作にはなりませんでした。 falseの後ろには;が必要でしょうか? ページの先頭に移動するという動作をしたいのですが、その場合は href="#"だと問題が起きてしまうのでしょうか? よければ教えていただけますと幸いです。
お礼
ご回答いただきありがとうございます。 >なんのために、ページトップへ移動するためにreturn:fales なのですか? <a href="/" onclick="hoge(); "のhogeには、位置(ページの左上)を指定して、そこにジャンプするというjsを書きました。