JavaScript的事件

Posted 阿鸠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript的事件相关的知识,希望对你有一定的参考价值。

事件流

1.事件流:在页面接受事件的顺序

2.事件冒泡:其实就是事件向上的一个传播,可以避免绑定多个元素来绑定多个事件

3.事件的捕获:最不具体的节点先捕获事件,而最不具体的节点应该最后捕获事

事件的处理

1.html事件处理

   直接添加到HTML的结构中,这里写法比较方便一点,但是处理的效果会比较差些

***就是直接在元素标签里面嵌套事件的方法

 

2.DOM 0级的事件处理(多个事件之间会覆盖)

    把一个函数赋值给一个事件处理程序的属性

    <button id="btn1">按钮</button>
        <script>
            var b= document.getElementById("btn1");
            btn1.onclick=function demo(){alert("dom0级的处理事件1")}
            btn1.onclick=function demo(){alert("dom0级的处理事件2")}
            btn1.onclick=function demo(){alert("dom0级的处理事件3")}
            btn1.onclick=function demo(){alert("dom0级的处理事件4")}
            
            //dom 0级的事件处理会覆盖掉前面的函数
            //这里只是输出了"dom 0级的处理事件4"
        </script>

 

3.DOM2级事件处理(多个事件之间不会覆盖)

  addEventListener("事件名","事件处理函数的名字","布尔值" );

  true:事件捕获

  flase:事件冒泡

 removeEventListener();


    <button id="btn">按钮</button>
        <script>    
            //这是一个dom二级的事件
            //事件和事件之间是不会覆盖的
            var btn=document.getElementById("btn");
            btn.addEventListener("click",demo);
            function  demo (){
                alert("hello");            
            }    
            btn.addEventListener("click",demo2);
            function demo2(){
                alert("what up???");
            }        
            
            btn.removeEventListener("click",demo2);
        //这里已经是移除了事件demo2
        </script>

4.IE事件处理程序

  attachEVent

 detachEvent

 

以上是关于JavaScript的事件的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

30秒就能看懂的JavaScript 代码片段

是否可以使用 Javascript 在音频文件中找到一段无声的片段?

常用Javascript代码片段集锦

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

48个值得掌握的JavaScript代码片段(上)