アクション

トップ > 逆引きリファレンス > アクション

マウスをクリックした時○○するには

ボタンや文字をクリックした時に JavaScript のアクションを実行するには、onclick を用います。

HTML
<input type="button" value="Click me!" onclick="alert('OK')">
<span onclick="alert('OK')">Click me!</span>
表示
Click me!

マウスを乗せた時に○○するには

マウスを乗せた時に JavaScript のアクションを実行するには onmouseover、マウスを離したときに実行するには onmouseout を用います。

HTML
<a href="xx.htm" onmouseover="alert('IN')">☆☆</a>
<a href="xx.htm" onmouseout="alert('OUT')">☆☆</a>
表示
☆☆
☆☆

参考:「リンクにマウスを乗せたときに色を変えるには

ページを開いたときに○○するには

ページを開いたときに JavaScript のアクションを実行するには <script>~</script> の中に処理を記述します。

HTML
<script>
alert("Hello world!");
</script>

上記だと、処理の中でグローバル変数を定義した場合、他のスクリプトに影響を与えてしまう可能性がある(グローバル変数を汚染してしまう)ため、即時実行関数という仕組みを用いて下記の様に記述したりします。これだと、グローバル変数を汚染することがありません。

HTML
<script>
(function() {
  alert("Hello world!");
})();
</script>

これらのスクリプトが HTML 内の要素(DOM)を参照する場合、<script>~</script> をコンテンツの最後に記述しないと、JavaScript が実行されるタイミングでまだ要素にアクセスできないことがあります。この問題を解決するために昔は windows.onload を用いていました。

HTML
<script>
window.onload = function() {
  alert("Hello world!");
}
</script>

ただし、window.onload はページにつきひとつしか指定できないため、外部ライブラリなど window.onload を使用する機能が複数あった場合、最後に設定したものだけが有効となり、他のものは無視されてしまいます。addEventListener() を用いることにより、この問題を解決することができます。

HTML
<script>
window.addEventListener("load", function() {
  alert("Hello world!");
});
window.addEventListener("load", function() {
  alert("Hello world!");
});
</script>

load だと画像などすべてのコンテンツのロードが完了した時点で呼び出されますが、DOMContentLoaded を使用すると HTMLファイルの読み込みが完了した時点で呼び出されます。

HTML
<script>
window.addEventListener("DOMContentLoaded", function() {
  alert("Hello world!");
});
</script>

定期的に○○するには

一定時間毎に JavaScript のアクションを実行するには、setInterval() を用います。下記の例では、5000ミリ秒(5秒)毎に、Hello!! というアラートダイアログを表示します。

HTML
<script>
window.addEventListener("load", function() {
    setInterval(function() {
        alert("Hello!");
    }, 5000);
});
</script>

Copyright (C) 2003-2017 杜甫々
初版: 2003年10月17日、最終更新:2017年12月17日
http://www.tohoho-web.com/how2/action.htm