JavaScript トリガー イベント

Anika Tabassum Era 2024年2月15日
  1. JavaScript で事前定義されたイベントをトリガーする
  2. JavaScript でカスタム イベントとトリガーを作成する
JavaScript トリガー イベント

JavaScript では、プリミティブ メソッド initEvent() を使用して新しいイベントを作成していました。 最新の更新では、カスタム イベントを作成するための new キーワードが追加されました。 また、JavaScript 用に構築されたインベントリにはイベントの豊富なコレクションがあります。

次のセクションでは、事前定義されたイベントの 1つの例と、それがどのようにトリガーされるかをプレビューします。 また、動作メカニズムとして詳細を持つ特注のイベントもあります。 それでは、飛び込みましょう!

JavaScript で事前定義されたイベントをトリガーする

ここでは、値入力用に input テキストボックスを選択し、後で onclick 属性を使用して addEventListener() メソッドと同等であることを確認します。

そのため、input フィールドのインスタンスを取得し、条件付きブロックを介して設定します。 次に、click イベントがトリガーされるたびに、input が取得され、それに応じて照合されます。

したがって、イベントの関数が起動されます。

コードスニペット:

<!DOCTYPE html>
<html>
    <head>
        <title>Trigger event</title>
    </head>
    <body>
        <input type="text" id="vals">
        <button onclick="abc()">Submit</button>
        <script>
            function abc(){
                var x = document.getElementById("vals").value;
                if(x ==='1'){
                    console.log("1")}
                else{
                    console.log("No!")
                }
            }
       </script>
    </body>
</html>

出力:

javascript トリガー イベント - 事前定義されたイベントをトリガーする

JavaScript でカスタム イベントとトリガーを作成する

このインスタンスを示すために、バブル イベントの伝播で親子ツリーを使用します。 主なタスクは、form が親である form および textarea 要素を作成することです。

次に、new CustomEvent() でイベントを作成します。 イベントの名前は cool で、bubbles のオブジェクトを true として、詳細は textarea の値になります。

後で、form には eventListener があり、cool イベントが発生したときにそのコンテンツで動作することを示します。 最後に、dispatchEvent() でイベントを発生させます。これは、textareaeventListener です。

コードと出力をプレビューしてみましょう。

コードスニペット:

<!DOCTYPE html>
<html>
    <head>
        <title>Trigger event</title>
    </head>
    <body>
        <form>
            <textarea></textarea>
        </form>
        <script>
            const form = document.querySelector('form');
            const textarea = document.querySelector('textarea');
            const event = new CustomEvent('cool', {
                bubbles: true,
                detail: { text: () => textarea.value }
            });
            form.addEventListener('cool', (e) => console.log(e.detail.text()));
            textarea.addEventListener('input', (e) => e.target.dispatchEvent(event));
        </script>
    </body>
</html>

出力:

javascript トリガー イベント - カスタム イベントとトリガーを作成する

カスタム イベントによると、textarea 入力の値を出力することになっていました。 そして最後に、コンソールに出力が実行されたことが表示されます。

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

関連記事 - JavaScript Event