文档章节

事件分类

L
 LorinLuo
发布于 2015/03/09 08:57
字数 257
阅读 33
收藏 2
  1. html事件处理程序:直接写在html标签中的事件处理程序

    <div onclick="fun()"></div>

  2. DOM0级事件处理程序(无兼容性问题)

     document.getElementById('fdiv').onclick = fun; function fun() {  alert(1)  }

        相当于给元素添加一个属性,重复添加会造成覆盖

       清空事件:document.getElementById('fdiv').onclick = null;

  3. DOM2级事件处理程序

        可以重复添加事件

        addEventListener  removeEventListener

        document.getElementById('fdiv').addEventListener('click', fun, false);

       document.getElementById('fdiv').addEventListener('click', fun1, false);

        document.getElementById('fdiv').removeEventListener('click', fun, false);

        function fun() {

            alert(1)

        }

        function fun() {

            alert(2)

        }

  4. IE事件处理程序

        可以重复添加事件

        document.getElementById('fdiv').attachEvent('onclick', fun, false);

        document.getElementById('fdiv').attachEvent('onclick', fun1, false);

        document.getElementById('fdiv').detachEvent('onclick', fun, false);

        function fun() {

            alert(1)

        }

        function fun1() {

            alert(2)

        }

5.实现浏览器兼容

var eventUtil = {

            addHander: function(element, type, hander){

                if(window.addEventListener){

                    element.addEventListener(type, hander, false);

                }else if(window.attachEvent){

                    element.attachEvent('on'+type, hander, false);

                }else{

                    element['on'+type] = hander;

                }

            },

            removeHander: function(element, type, hander){

                if(window.addEventListener){

                    element.removeEventListener(type, hander, false);

                }else if(window.attachEvent){

                    element.detach('on'+type, hander, false);

                }else{

                    element['on'+type] = null;

                }

            },

            getEvent: function(event){

                return event?event:window.event;

            },

            getElement: function(event){

                return event.target || event.srcElement;

            },

            preventDefault: function(event){

                if(event.preventDefault){

                    event.preventDefault();

                }else{

                    event.returnValue = false;

                }

            },

            stopPropagation: function(event){

                if(event.stopPropagation){

                    event.stopPropagation();

                }else{

                    event.cancelBubble = true;

                }

            }

        };


© 著作权归作者所有

上一篇: 拖动
下一篇: Shell命令合集
L
粉丝 18
博文 166
码字总数 116776
作品 0
成都
程序员
私信 提问
JavaScript的BOM编程,事件-第4章

目标 BOM编程 window和document对象 window对象的属性和方法 document对象的属性和方法 JavaScript中对象的分类 浏览器对象:window对象 window对象,这个对象的属性和方法通常被统称为BOM(...

达叔小生
2018/08/02
0
0
jQuery动态行绑定事件,发生重复绑定解决方案

背景: 系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里)。 问题: 新增一条分类,需要给3项资金新绑定小计功能。这个时候会发现,初始第一行的计算,会调用两...

沫沫金
2017/07/25
0
0
5分钟Serverless实践:构建无服务器的图片分类系统

前 言 在过去“5分钟Serverless实践”系列文章中,我们介绍了如何构建无服务器API和Web应用,从本质上来说,它们都属于基于APIG触发器对外提供一个无服务器API的场景。现在本文将介绍一种新的...

中间件小哥
2018/09/14
17
0
朴素贝叶斯法(一)——贝叶斯定理

最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。 贝叶斯定理是在250多年前发明的算法,在信息领域内有着无与伦比的地位。贝叶斯分...

技术mix呢
2017/11/08
0
0
统计学习方法 | 朴素贝叶斯法

01 分类方法 之前我们学习了一种分类方法——K近邻法(KNN),今天我们再学习一种更常用的分类方法 朴素贝叶斯法 这里,我们先区分一下“分类”和“聚类” 分类的目的是学会一个分类函数或分类...

邓莎
2018/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

秒杀系统思路

业务分析 技术挑战 请求响应要快:无论成功失败,需要尽快返回给用户 架构设计   前端:静态化   站点层:限制请求数   服务层:乐观锁写缓存   数据库CAP:读写高可用,一致性,扩容...

雷开你的门
16分钟前
7
0
最全的教育行业大数据解决方案,个个针对痛点

大数据的悄然兴起也带动了教育行业的革新,移动教育、云课堂等的出现,使得教育行业再次成为了可以中长期保持高景气的行业。然而,初涉数据领域的教育行业同时也面临着相当大的难题,还需要更...

朕想上头条
20分钟前
5
0
预约模块设计分析

1.预约功能描述: 预约是小程序中常见的一种商品管理系统,商家可根据商品或服务的特性,灵活设置预约细节,为用户提供线上预约服务,如场地预约,商品预定等,实现高效经营。 预约场景: ...

鱼煎
24分钟前
4
0
阿里云日志服务构建网站实时分析大盘实战

场景分析 挖掘数据价值是当前企业级网站共同面临的问题。买买网是一个电商平台网站,每天拥有大量的用户访问和购买记录。为了引导用户直接消费,提升购买率和转化率,不同的用户类别需要推荐...

阿里云官方博客
25分钟前
2
0
TL665xF-EasyEVM开发板硬件处理器、NAND FLASH、RAM

广州创龙结合TI KeyStone系列多核架构TMS320C665x及Xilinx Artix-7系列FPGA设计的TL665xF-EasyEVM开发板是一款DSP+FPGA高速大数据采集处理平台,其底板采用沉金无铅工艺的6层板设计,适用于高...

Tronlong创龙
28分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部