ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で要素にイベントを追加するにはいくつかの方法があります

JavaScript で要素にイベントを追加するにはいくつかの方法があります

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-06-11 18:00:393070ブラウズ

Javascript では要素にイベントを追加する方法として 1. html タグ内で直接バインドする; 2. js で対応する dom 要素を取得してからバインドする; 3. js で addEventListener を使ってバインディングを実装する の 3 つの方法があります。

JavaScript で要素にイベントを追加するにはいくつかの方法があります

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

1. HTML タグ内で直接バインドする;

2. js で対応する dom 要素を取得してバインドする;

3. js () で addEventListener を使用してバインディングを実装する;

具体的なコード例は次のとおりです:

<!-- 以下为给dom元素绑定js事件的三种方法 -->

    <!-- 1--html内直接绑定 -->
    <input type="button" id="btn0" onclick="alert(&#39;执行了html绑定的方法&#39;)" value="html中绑定"></input>
    <!-- 2--使用js绑定 -->
    <input type="button" id="btn1" value="js绑定">
    <!-- 3--使用addEventListener绑定 -->
    <input type="button" id="btn2" value="addEventListener绑定"></input>

    <script>
        //********js绑定事件的js代码*********
        let button1 = document.getElementById("btn1")
        button1.onclick = function() { console.log("执行了js绑定的事件") }
        //将覆盖之前绑定的onclick事件
        button1.onclick = function() { console.log("执行了js绑定的第二个事件") }


        //*********addEventListener绑定的js代码*********
        let button2 = document.getElementById("btn2")
        //使用addEventListener()可为一个元素绑定多个事件
        button2.addEventListener("mouseover", func1, false)
        button2.addEventListener("click", func2, false)
        button2.addEventListener("click", func3, false)
        function func1() {
            console.log(button2)
        }
        function func2() {
            console.log(Date())
        }
        function func3() {
            console.log("---------------")
        }
        //使用removeEventListener(event,function)移除事件
        // button2.removeEventListener("mouseover", func1)
    </script>

[推奨学習: javascript 上級チュートリアル]

以上がJavaScript で要素にイベントを追加するにはいくつかの方法がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。