DOM事件-基础概念


DOM事件-基础概念

术语

  • 事件:发生一件事

  • 事件类型:发生什么事情;点击、鼠标按下、鼠标抬起、鼠标移入、鼠标移出、键盘按下、键盘抬起…

  • 事件处理程序:一个函数,当某件事情发生时运行。

  • 事件注册:将一个事件处理程序,挂载到某个事件上。

事件流

事件流:当某个事件发生的时候,哪些元素会监听到该事件发生,这些元素发生该事件的顺序。
事件流
当一个元素发生了某个事件时,那该元素的所有祖先元素都发生了该事件



    <div>
        <button>
            点击我
        </button>
    </div>

    <script>
        // 给button注册点击事件
        document.querySelector("button").onclick = function () &#123;
            console.log("button");
        &#125;
        // 给div注册点击事件
        document.querySelector("div").onclick = function () &#123;
            console.log("div");
        &#125;
        // 给body注册点击事件
        document.body.onclick = function () &#123;
            console.log("body");
        &#125;
        // 给html注册点击事件
        document.documentElement.onclick = function () &#123;
            console.log("html");
        &#125;
        // 给整个文档注册点击事件
        document.onclick = function () &#123;
            console.log("document");
        &#125;
    </script>

以上输出的结果依次为button>div>body>html>document
事件流的演示 运行顺序(默认情况下):冒泡方式触发-从里到外
当一个元素发生了某个事件时,那该元素的所有祖先元素都发生了该事件

微软看法:事件冒泡:先触发最里层的元素,然后再依次触发外层元素
网景看法:事件捕获:先触发外层的元素,然后再依次触发里面元素

目前,标准规定,默认情况下,事件是冒泡的方式触发。

事件源、事件目标:事件目标阶段的元素(最里层元素)

事件捕获 从外到内
事件冒泡 从内到外


文章作者: overwhat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 overwhat !
评论
  目录