aタグの onclick, mousedown, mouseup, href のJavaScriptの実行順

aタグの onclick, mousedown, mouseup, href のJavaScriptの実行順と実行結果の紹介をします。

概要

aタグ(ハイパーリンク)のタグに onclick, mousedown, mouseup, href にJavaScriptを記述した場合にどの順序で実行されるかを確認します。

コード

以下のコードを記述します。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <script language="javascript" type="text/javascript">
    function Prochref() {
      var target = document.getElementById("output");
      target.innerHTML += "hrefのJavaScriptが実行されました<br/>";
    }
    function ProcOnClick() {
      var target = document.getElementById("output");
      target.innerHTML += "onclickのJavaScriptが実行されました<br/>";
    }
    function ProcOnMouseDown() {
      var target = document.getElementById("output");
      target.innerHTML += "onmousedownのJavaScriptが実行されました<br/>";
    }
    function ProcOnMouseUp() {
      var target = document.getElementById("output");
      target.innerHTML += "onmouseupのJavaScriptが実行されました<br/>";
    }
  </script>
</head>
<body>
  <h1>aタグのJavaScript実行順</h1>
  <a href="javascript:Prochref();" onclick="ProcOnClick();" onmousedown="ProcOnMouseDown();" onmouseup="ProcOnMouseUp();">Exec</a><br />
  <hr />
  <div id="output"></div>
</body>
</html>

解説

aタグにhref, onclick, onmousedown, onmouseup の属性を記述し、それぞれJavaSciriptの関数を呼び出します。

  <a href="javascript:Prochref();" onclick="ProcOnClick();" onmousedown="ProcOnMouseDown();" onmouseup="ProcOnMouseUp();">Exec</a><br />


関数では、id="output" の要素にメッセージを表示します。

  function Prochref() {
    var target = document.getElementById("output");
    target.innerHTML += "hrefのJavaScriptが実行されました<br/>";
  }
  function ProcOnClick() {
    var target = document.getElementById("output");
    target.innerHTML += "onclickのJavaScriptが実行されました<br/>";
  }
  function ProcOnMouseDown() {
    var target = document.getElementById("output");
    target.innerHTML += "onmousedownのJavaScriptが実行されました<br/>";
  }
  function ProcOnMouseUp() {
    var target = document.getElementById("output");
    target.innerHTML += "onmouseupのJavaScriptが実行されました<br/>";
  }

実行結果

上記のHTMLファイルをWebブラウザで表示します。
aタグの onclick, mousedown, mouseup, href のJavaScriptの実行順:画像1

[Exec]のリンクをクリックします。
aタグの onclick, mousedown, mouseup, href のJavaScriptの実行順:画像2

ページ下部にメッセージが表示されます。
aタグの onclick, mousedown, mouseup, href のJavaScriptの実行順:画像3

Microsoft Edgeの場合には以下のメッセージとなります。

onmousedownのJavaScriptが実行されました
onmouseupのJavaScriptが実行されました
onclickのJavaScriptが実行されました
hrefのJavaScriptが実行されました


実行順は以下となります。

  1. onmousedown
  2. onmouseup
  3. onclick
  4. href


注意
href="javascript:Prochref();" の形式は古い書き方であり、アクセシビリティやセキュリティの観点からも推奨されません。 可能であれば、href は実際のリンク先を指定し、onclick 内で JavaScript を実行する記述方法が望ましいです。

このページのキーワード
  • aタグの onclick, mousedown, mouseup, href のJSの実行順
AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2025-03-08
Copyright © 1995–2025 iPentec all rights reserverd.