zoukankan      html  css  js  c++  java
  • js中的事件部分总结

    一、HTML事件

        HTML事件处理就是直接在HTML标签上添加事件,举例

         <p class="" onclick=function(){alert(HTML事件)}></p>

        这种方式的好处是简单易懂,兼容性好。

        缺点是代码的耦合性太高,不便于修改,而且一个事件只能监听一个function,多个function会被覆盖,并且事件无法删除。

    二、DOM 0级处理事件

        DOM 0级处理事件可以理解成通过修改标签元素的onclick属性,来加入事件。 举例

        <div id="btn"></div>

        <script>

          var btn=document.getElementById("btn");

          btn.onclick=function(){alert(DOM 0级事件)} 

        </script>

          删除方式为

          btn.onclick=null;

        这种方式的优点是耦合较低,产生的问题是只能监听一个事件,容易被覆盖。

    三、DOM 2级处理事件(重点)

        DOM 2级处理事件是通过addEventListener(参数一,参数二,参数三)的方式添加事件

         其中

         参数一:事件类型,如onclick onload,但在参数一种,前面的On 需要省略。

         参数二:回调函数:可以直接为某个function(){},也可以将函数提取,直接写函数名,不必添加括号

         参数三:定义冒泡或捕获,true为捕获,false为冒泡,考虑到兼容器的问题(IE 678只支持冒泡,不支持捕获)在这里推荐使用false——冒泡

         function Dom(){alert(“DOM 2级处理事件”)}

         addEventListener("click",Dom,false);

         这里删除监听的方式为

         removeEventListener("click",Dom,false);

        DOM 2级处理事件的有点是不会被覆盖,一次性可以添加多个监听事件,缺点是IE 8之下不可用(IE 8之下使用IE事件的处理程序)

    四、 IE事件的处理程序(补充)

        IE 6 7 8 9 10都支持的一种专属事件方式,通过attachEvent添加事件

        举例

        attachEvent(参数一,参数二)

        其中参数一为事件类型,但和DOM 2级事件不同,这里的事件类型前面需要加上On

        参数二为回调函数

        因为是IE专属,默认为冒泡处理,所以没有参数三

        举例:

          function Ie(){alert(IE专属事件)}

             btn.attachEvent("onclick",Ie);

           删除事件用detachEvent

           btn.detachEvent("onclick",Ie);

          

            

  • 相关阅读:
    SQL清除数据库日志方法
    TFS服务器及服务帐号迁域的处理
    about WBS
    ASP.NET URL Rewrite. URL重写
    查看SQL Server中某数据库下每个表占用的空间大小
    [西安招聘] 微软西安分公司 招聘.NET软件工程师,MOSS开发工程师
    企业微信的数据打通
    常见Post请求与实现
    Python解释器与__pycache__文件夹的生成
    微信开放平台OpenID与UnionID的区别
  • 原文地址:https://www.cnblogs.com/yuyufeng/p/5563370.html
Copyright © 2011-2022 走看看