blog

JavaScript-イベント

イベント:ドキュメントやブラウザウィンドウで発生する特定のインタラクションの瞬間です。ウェブアプリケーションの場合、代表的なイベントとして、要素をクリックする、要素の上でマウスを動かす、ポップアップウ...

Jun 19, 2020 · 3 min. read
シェア

イベント

イベント: ドキュメントやブラウザウィンドウで発生する特定のインタラクションの瞬間です。ウェブアプリケーションでは、要素をクリックする、マウスを要素の上に移動させる、ポップアップウィンドウを閉じる、などが代表的なイベントです。

JavaScriptはイベント駆動型言語であり、JavaScriptとHTMLの相互作用はイベントを通じて実現されます。

イベントの3つの要素

イベントの3つの要素:イベント・ソース、イベント、イベント・ドライバ。

  • Github
  • イベント:jsはすでに定義されています。
  • イベントドライバ:スタイルやhtmlの操作。DOMとしても知られています。

コードを書く手順は以下の通り:

  • イベントソースを取得します:document.getElementById(「ボックス”); // AndroidのfindViewByIdに似ている。
  • 結合イベント: イベントソースボックス.イベントonclick= function(){ イベントドライバ};
  • イベントドライバーの書き込み:DOMに対する操作。

イベントソースの入手方法

イベントソースを取得する方法は、DOMノードフェッチです。

イベントソースを取得する一般的な方法は以下の通りです:

var div1 = document.getElementById("box1"); //方法1: idで単一のタグを取得する
var arr1 = document.getElementsByTagName("div"); //方法2:タグ名でタグ配列を取得する。
var arr2 = document.getElementsByClassName("nav"); //方法3:クラス名でタグ配列を取得する。
var d1 = document.querySelector(".d1") // モード4: 最初にマッチした要素オブジェクトを取得する。
var navs = document.querySelectorAll(".nav") // 方法5: マッチしたすべての要素オブジェクトを取得する。

イベントのバインド方法

ブラウザは、イベント関数が呼び出されると、デフォルトでイベントの詳細を含むイベントオブジェクトを渡します。

  • 方法 1: 無名関数を直接バインドする

     <div id="box1" ></div>
     <script type="text/javascript">
     var div1 = document.getElementById("box1");
     //イベントをバインドする最初の方法
     div1.onclick = function () {
     alert("ポップアップコンテンツ");
     }
     </script>
    
  • 方法2:関数を別々に定義してから

     <div id="box1" ></div>
     <script type="text/javascript">
     var div1 = document.getElementById("box1");
     //イベントをバインドする2つ目の方法
     div1.onclick = fn; //これはfnであり、fnは戻り値を意味しないことに注意。
     //個別に定義された関数
     function fn() {
     alert("ポップアップコンテンツ");
     }
     </script>
    

    fnは関数全体を表し、fn()は戻り値を表します。

  • インラインバインディング

     <!--インラインバインディング>
     <div id="box1" onclick="fn()"></div>
     <script type="text/javascript">
     function fn() {
     alert("ポップアップコンテンツ");
     }
     </script>
    

    これは、このバインディングのコードがjsコードで書かれているのではなく、文字列として認識されているからです。

イベントドライバ

JSでタグのプロパティとスタイルを操作します。

  • jsでプロパティの値を書くときは、引用符を使い、単位を忘れないでください。

onload

onloadイベントは、ページが読み込まれたときに発生します。

jsの読み込みはhtmlの読み込みと同期しています。そのため、要素の定義でその要素を使用すると、エラーが報告されやすくなります。この時、onloadイベントが便利で、onloadでコードの要素を使用すれば、このコードが最後の実行であることを確認できます。

推奨は、jsコンテンツを実行する前に、ページ全体のすべての要素をロードすることです。そのため、window.onloadはタグの定義でタグの使用を防ぐことができます。

addEventListener

addEventListener: イベント・リスナー。元のイベントが実行されると、次のバインドされたイベントも実行されます。removeEventListener: 削除します。

バインディング方式はカスケードしないので、チーム開発に適しています。

element.addEventListener("", function() {
}, false)

パラメータの説明:

  • パラメータ1:イベント名
  • パラメータ 1: イベント名
  • パラメータ3:デフォルトfalseは、バブリングフェーズがトリガーされることを示し、trueはキャプチャフェーズがトリガーされることを示します。

バブリング:子要素から親要素へ、1レイヤー上へ

キャプチャ:親から子へ、1レイヤー下

Read next

OpenGLとその関連用語の初見。

まず、OpenGLとは何かを理解しましょう。一般的には、グラフィックスや画像を操作するための一連の関数を含むAPIと考えられています。しかし、OpenGL自体はAPIではなく、Khronosという組織によって開発され、維持されている単なるプロトコルです。

Jun 18, 2020 · 11 min read