`

关于对跨浏览器实现的事件处理程序

 
阅读更多

今天上网看了许多关于js的dom事件的内容。其中呢,对于跨浏览器实现的事件处理程序的封装方法很感兴趣。主要呢就是对于ie和其他主流的浏览器的差别。

var eventUtil = {
    //添加dom事件处理程序
    //添加的属性
    addHandler:function(element,type,handler){
        if (element.addEventListener) {
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent){
            element.attachEvent('on'+type,handler);
        }else{
            element['on'+type]=handler;
        }
    },
    //删除dom事件处理程序
    removeHandler:function(element,type,handler){ 
        if(element.removerEventListener){
            element.removerEventListener(type,handler,false);
        }else if (element.detachEvent) {
            element.detachEvent('on'+type,handler);
        }else{
            element['on'+type]=null;
        }
    }
}

 关于其中的element['on'+type]是因为element.后无法与字符串连接。而element[]等价于element.

关于是否加on,是因为ie的事件处理程序与别的浏览器不同导致。事件的type有的是dom2级中是click而由于ie8之前不兼容dom2级事件处理,则需要用type为onclick的ie时间处理程序。

 

 

分享到:
评论
1 楼 wuxy720 2016-10-27  
   

相关推荐

    react-event-system-web-0916

    目标解释React事件与浏览器事件有何不同描述React如何标准化事件以实现兼容性解释如何在我们的应用程序中使用React事件将事件处理程序添加到元素什么是React中的事件系统? React拥有自己的事件系统,带有称为...

    ActionScript开发人员指南中文版

    ActionScript事件处理与早期版本事件处理的不同之处 事件流 事件对象 事件侦听器 事件处理示例:闹钟 第章:使用应用程序域 第章:显示编程 显示编程的基础知识 核心显示类 显示列表方法的优点 使用显示对象 处理显示...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    跨平台移动端开发NativeScript.zip

    UI组件是原生的,UI事件由在JavaScript代码中声明的原生处理程序处理,如View.OnClickListener,UIControl.addTarget。 为了避免开发者需要对三个支持的平台有深入的理解,该框架包含了一个抽象与原生代码连接的...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    2.4.3 事件如何与事件处理程序连接 2.5 Web项目 2.5.1 基于项目的开发 2.5.2 创建Web项目 2.5.3 迁移旧版Visual Studio创建的网站 2.6 Visual Studio调试 2.6.1 单步调试 2.6.2 变量监视 2.6.3 ...

    2024年最新版本的开源TwoNav网址导航系统源码 免授权

    TwoNav可以帮助用户集中管理浏览器书签,解决跨设备、跨平台和跨浏览器之间同步和访问困难的问题,实现一处部署、随处访问的便捷体验。 主要特色功能包括: 支持后台管理:提供便捷的管理界面,方便用户进行书签的...

    使用 Cypal Studio for GWT 简化 Ajax 开发

    最后还有一个编译器,用于将 Java 代码转换为在客户机浏览器中实际执行的跨浏览器 JavaScript 代码,帮助您处理浏览器不兼容的问题。 虽然 GWT 简化了创建 Ajax 应用程序的过程,但是它仍有几个部分必须保持同步才能...

    Sosoo 1.0网络爬虫程序.doc

    设置从开始路径能找的最大深度【maxDepth】:程序会判断当前处理的链接深度是否超过最大链接深度,如果超过这个链接将忽略,当然你可以通过设置depthIsEffect来屏蔽这个功能。默认值为1。 robby.setMaxDepth(0); ...

    java课程设计-设计一个图形界面的计算器-完成简单的算术运算.doc

    关于事件监听的处理问题 计算器的各种按钮都需要一个对象来进行监视,以便对发生的事件做出处理。计算器 的各种按钮通过调用相应的方法将某个对象作为自己的监视器。 例如计算器中的数字按钮,其方法为: ...

    ASP.NET4高级程序设计(第4版) 3/3

    2.4.3 事件如何与事件处理程序连接 46 2.5 Web项目 47 2.5.1 基于项目的开发 47 2.5.2 创建Web项目 48 2.5.3 迁移旧版Visual Studio创建的网站 49 2.6 Visual Studio调试 51 2.6.1 单步调试 52 2.6.2 ...

    Tcl_TK编程权威指南pdf

    表单处理程序 编程参考 标准应用执导(application-dirct)的url tclhttpd发行版 服务器配置 第19章 多解释器与 safe-tcl interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器中...

    毕业设计基于PHP实现的网上留言管理系统的设计(源代码+LW)1.rar

    网上留言系统的整体结构采用的是B/S(Browser/Server)应用架构,在这种架构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理。整个系统的设计...

    金融网站数据爬取python实现案例

    4. 强大的数据处理能力:Python的数据处理和分析库(如Pandas、NumPy)支持高效的数据处理和分析,方便对爬取到的数据进行清洗、转换和分析。 5. 异步编程支持:Python提供了异步编程的支持,例如asyncio库,可以...

    springboot学生网上请假系统设计与实现.zip

    跨平台性:由于采用了Web技术,系统可以在不同操作系统和浏览器上运行。总之,SpringBoot学生网上请假系统设计与实现是一个功能完善、易于使用、安全可靠的在线请假管理系统,适用于各类学校和教育机构。

    JAVA班主任管理系统毕业论文(源代码+word论文).zip

    在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。 B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言...

    ASP.NET的网页代码模型及生命周期

    ASP.NET让用户可以为从浏览器传递的事件在服务器代码中设置相应的处理程序。假设某个用户正在浏览网站并与页面之间产生了某种交互,用户的操作就会引发事件,事件通过HTTP被传输到服务器。在服务器中,ASP.NET框架...

    爬取页面数据的python实现案例.rar

    4. 强大的数据处理能力:Python的数据处理和分析库(如Pandas、NumPy)支持高效的数据处理和分析,方便对爬取到的数据进行清洗、转换和分析。 5. 异步编程支持:Python提供了异步编程的支持,例如asyncio库,可以...

    于PHP技术的学生信息管理系统

    浏览器/服务器(Browser/Server,B/S)是一种全新的软件系统构造技术,它利用用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、...

    【卷一/共两卷】AJAX实战pdf高清版90M

    3.2.1 跨浏览器不一致性:Facade和Adapter模式 3.2.2 管理事件处理函数:Observer模式 3.2.3 重用用户操作处理函数:Command模式 3.2.4 保持对资源的唯一引用:Singleton模式 3.3 模型一视图一控制器 3.4 Web服务器...

Global site tag (gtag.js) - Google Analytics