Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法

AタグにonClickイベントなどを実装した場合、リンクをクリックした際にページが遷移しないようにししたい場合があります。 この記事では、Aタグのクリック時にページ切り替えをしない動作にするコードを紹介します。

記述方法: javaScript:void を利用する方法

Aタグのhrefに値"javaScript:void(0)"を設定するとリンククリック時にページ遷移を無効にできます。

コード例

以下のコードの場合、リンクをクリックすると onclickイベントは実行されメッセエージダイアログボックスが表示されますが、ページは切り替わりません。

  <a href="javaScript:void(0)" onclick="alert()">てすと</a>


記述方法: # を利用する方法

Aタグのhrefに値"#"を記述する方法により、リンククリック時のページ遷移を無効にできます。

コード例

  <a href="#" onclick="alert();">てすと</a>

記述方法: return false を返す方法

Aタグのonclickにreturn false; を記述し、clickイベントでfalseを返すことで、リンククリックを失敗にして、ページ遷移をしない動作にできます。

コード例

  <a href="https://www.ipentec.com" onclick="alert();return false;">リンクです。</a>

記述方法: href を空にする、hrefを記述しない方法

Aタグのhrefに値を空("")にする、または、href属性を記述しない方法により、リンククリック時のページ遷移を無くせます。

コード例

  <a href="" onclick="alert();">リンクです。</a>
  <a onclick="alert();">リンクです。</a>

記述方法: event.preventDefault を利用する方法

preventDefault メソッドを呼び出し、デフォルトの動作であるページ遷移を無効にする方法です。

コード例

  <a  href="https://www.ipentec.com" onclick="event.preventDefault();alert();">リンクです。</a>

コード

以下のHTMLファイルを作成します。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
  <h1>リンクをクリックしてもページ遷移しないデモ</h1>

  <a href="https://www.ipentec.com" onclick="alert('Penguin');">テストのリンクです。- 通常のリンク</a><br />
  <a href="JavaScript:void(0);" onclick="alert('Penguin');">テストのリンクです。- JavaScript:void(0)</a><br />
  <a href="#" onclick="alert('Penguin');">テストのリンクです。- href="#"</a><br />
  <a href="https://www.ipentec.com" onclick="alert('Penguin'); return false;">テストのリンクです。- return false</a><br />
  <a href="" onclick="alert('Penguin');">テストのリンクです。- href 空</a><br />
  <a onclick="alert('Penguin');">テストのリンクです。- href なし</a><br />
  <a href="https://www.ipentec.com" onclick="event.preventDefault();alert('Penguin');">テストのリンクです。- preventDefault</a><br />
</body>
</html>

解説

先に紹介した以下のリンクを記述しています。

  • href="JavaScript:void(0);" を設定したリンク
  • href="#" を設定したリンク
  • onclick で return false; を返すリンク
  • hrefが空のリンク
  • href属性を記述しないリンク
  • preventDefault() を呼び出すリンク

実行結果

上記のHTMLファイルを表示します。下図のページが表示されます。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像1

はじめに、一番上の通常にリンクをクリックします。アラートダイアログが表示されます。[OK]ボタンをクリックしてダイアログを閉じます。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像2

ダイアログを閉じると、ページ遷移します。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像3

2番目の[テストのリンクです。- JavaScript:void(0)]をクリックします。アラートダイアログが表示されます。 ダイアログを閉じても、ページ遷移はしません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像4

3番目の[テストのリンクです。- href="#"]をクリックします。アラートダイアログが表示され、ダイアログを閉じてもページ遷移はしません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像5

4番目の[テストのリンクです。- return false]をクリックします。こちらもアラートダイアログが表示されます。 ダイアログを閉じてもページ遷移はしません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像6

5番目の[テストのリンクです。- href 空]をクリックします。こちらもアラートダイアログが表示されます。 ダイアログを閉じてもページ遷移はしません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像7

6番目の[テストのリンクです。- href なし]はリンクに下線が表示されておらず、通常のテキストの表示ですが、 クリックするとアラートダイアログが表示されます。ダイアログを閉じてもページ遷移はありません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像8

7番目の[テストのリンクです。- preventDefault]をクリックします。アラートダイアログが表示されます。 ダイアログを閉じてもページ遷移はしません。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像9

Aタグのリンクをクリックしてもページ遷移しない方法を紹介しました。
Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JavaScriptでリンク動作を制御する方法:画像10

このページのキーワード
  • Aタグをクリックしてもページ遷移しないコードと実行結果 - HTML・JSでリンク動作を制御する方法
AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2013-01-09
改訂日: 2024-12-09
Copyright © 1995–2025 iPentec all rights reserverd.