zoukankan      html  css  js  c++  java
  • dom添加事件总结

    碰到几个问题,总结一下:

    1. 什么是事件冒泡
      被点击后,由最具体的事件接收,逐级向上传至最不具体的那个节点
    2. 事件流
      描述页面接收事件的顺序
      分为html事件,DOM0级事件,DOM2级事件

    DOM 0级与html事件需要加上on,DOM2在非ie下不需要,因为已经有了listen这个监听的东西,在ie下DOM2的attachEvent和detatchEvent需要加上on

    注意: Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法,,Opera 7.0 及 Opera 更早版本也不支持。 但是,对于这些不支持该函数的浏览器,你可以使用 attachEvent() 方法来添加事件句柄

    element.addEventListener(event, function, useCapture),前两个参数常见,对于第三个就不太了解了!!!那么~接下来

    useCapture       可选。布尔值,指定事件是否在捕获或冒泡阶段执行。

    true - 事件句柄在捕获阶段执行

    false  默认。事件句柄在冒泡阶段执行,一般是false,能保证浏览器的兼容性

            另外,DOM2 余DOM0级事件可以添加多个事件

    您可以在文档中添加许多事件,添加的事件不会覆盖已存在的事件。

    document.getElementById("myBtn").addEventListener("click", myFunction);

    document.getElementById("myBtn").addEventListener("click", someOtherFunction);

    removeEventListener() 方法用于移除由 addEventListener() 方法添加的事件句柄。

    注意: Internet Explorer 8 及更早IE版本不支持 removeEventListener() 方法,Opera 7.0 及 Opera 更早版本也不支持。 但是,对于这些不支持该函数的浏览器,你可以使用 detachEvent() 方法来移除由 attachEvent() 方法添加的事件句柄

      1. 在DOM0事件中,
        var btn1=document.getElementById(“button”);
        btn1.onclick=function(){};    添加事件
        btn1.onclick=null;  用null取消事件绑定
      2. 再一点,attachEvent()和detatchEvent()只有两个参数,ie就是冒泡;
        btn1.attachEvent(”onclick”,  function(){}),btn1由id获取
  • 相关阅读:
    vscode 整理————开篇之力(一)
    重学c#系列——datetime 和 datetimeoffset[二十一]
    重新点亮shell————什么是shell[一]
    重新整理 .net core 实践篇——— 权限中间件源码阅读[四十六]
    为什么构建容器需要Namespace?
    基于Windows Mobile 5.0的掌上天气预报设计
    使用.NE平台调用服务访问非托管 DLL 中的函数
    .NET Framework 3.0 RC1 开发环境构建
    ASP.NET未处理异常的处理
    基于Silverlight的Windows Phone 推箱子程序开发
  • 原文地址:https://www.cnblogs.com/nostic/p/5414645.html
Copyright © 2011-2022 走看看