遊べるJavaScript入門ロゴ

このHPでは、JavaScriptの基礎的な[button onclick=" "] [function] [.getElementById()] [innerHTML()]などを使って、ボタンをクリックすると写真が表示する簡単なコードを紹介しています。  

「クリックすると写真が表示」 イベントハンドラーの例

*********プログラムはここから

このボタンをクリックするとここに写真を表示します。

**********プログラムはここまで。

もう一度見る場合は、F5でブラウザを再読み込みしてください。

イベントハンドラーが使えれば、いろいろと遊べます

「ボタンをクリックすると写真が表示されます」というように、「**をすると(この場合はボタンをクリックすると)」、何かの動作(この場合は写真の表示)をする…… というものが「イベントハンドラー」「イベントリスナー」と呼ばれるものです。

イベントハンドラーはHTML上に書いてscript部分に渡すという使い方で、もう一方のイベントリスナーは同じ動きを <script>~</script> の中に書いて用いるものです。

イベントリスナーのほうが利用度が高いのですが、ここでは、動きがわかりやすい「イベントハンドラー」で、「ボタンをクリックすると写真が表示される」という例を取り上げています。イベントリスナーの例はこちらのページにあります。


PR

プログラムコード

【HTML部分】
<p><button onclick="myAns();">ボタンをクリックすると写真が出ます</button></p> //①ボタン設置
<div id="myPic">このボタンをクリックするとここに写真を表示します。</div> //②idをつける
【JavaScript部分】
<script>
function myAns() {   //③myPicのidのところに説明と写真を表示するための関数
let mySyasin = document.getElementById('myPic');
mySyasin.innerHTML = 'この本は、Indexのページで紹介したおすすめの本です。<br><img src="img/0385.jpg">';
}
</script>

このHPでは、説明しやすいように sprict部分 もHTMLといっしょに書いています。

コードが見やすいように、私が作った変数は、前に「my」のついた名前(ここでは myAns myPic mySyasinなど)にしています。 また、画像は「img」というホルダー内に置いていますので、「img/***.jpg」などのようなパスになっていますから、自分用に書く場合には適宜変更してください。

【プログラムの流れ】 まず、①HTML部分でボタンを設置して、②文章を置き換える部分にJavaScriptで参照するための「id=myPic」を設定しています。

ボタンのイベントの飛び先を「myAns」としているのが③のfanction部分で、そこでは、先に書いている説明(myPic部分)を.getElementById で取得して、innerHTML で文章と写真を書き出すという動作です。

このような説明を文字で書くとわかりにくいでしょうが、「こんなことをJavaScriptを使ってやっている」というところを見ておいてください。

ともかく、この書き方を真似して、変数名などを自分のものに変更して、動かしてみるのが理解への早道だと思います。 

ここで使っている、[button onclick=" "] [function] [.getElementById()] [innerHTML()] などは、このHPでよく使っているものです。


PR

イベントハンドラはいろいろなものが用意されています

「ボタンがクリックされた」「ページを読み込んだ」「フォームの内容が変更された」 などが「イベント」ですが、それによってなにかをさせたいときに用いるものが「イベントハンドラー」です。

大きく分けて「マウス操作に関連するもの」「ページの読み込みに関係するもの」「フォームに関連するもの」などがあります。

よく使いそうなものをあげると、マウスをクリックしたとき「onclick」 マウスを文字や写真の上においたとき「onmouseover」 マウスを外したとき「onmouseout」 ページが読み込まれたとき「onload」 別のページに移動したとき[onunload」 エラーが発生したとき「onerror」 フォームの内容が変更されたとき「onchange」 submitボタンがクリックされたとき「onsubmit」 その他があります。 いろいろな場面に使えそうな感じがするでしょう。

使い方は、<button onclick="myAns()> という、この上のコードにある使い方以外に、<input type="button" value="CLICK"> などと書いて使う場合があります。

このHPでは、クイズや占いなどを作る目的ですから、ほとんどにイベントハンドラーやイベントリスナーを使っています。

→こちら .addEventListener('click', my***)という、サイコロを振るときにイベントリスナーを使った記事が、またこちらにも、写真をクリックすると説明が出る例など、いろいろなところで使っています。


記事の目次へ

PR

(来歴)R6.5作成  R6.7月見直し R6.8月確認
PR
AmazonのJavascript本 送料無料

楽天ブックスは品揃え200万点以上!


記事の目次はこちら

電子工作の記事の目次へ