Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Javascript 的addEventListener()及attachEvent()区别分析

Javascript 的addEventListener()及attachEvent()区别分析

作者头像
smy
发布于 2018-04-03 05:53:44
发布于 2018-04-03 05:53:44
1.6K00
代码可运行
举报
文章被收录于专栏:smysmy
运行总次数:0
代码可运行

Mozilla中: 

addEventListener的使用方式: 

target.addEventListener(type, listener, useCapture); 

target: 文档节点、document、window 或 XMLHttpRequest。 

type: 字符串,事件名称,不含“on”,比如“click”、“mouseover”、“keydown”等。 

listener :实现了 EventListener 接口或者是 JavaScript 中的函数。 

useCapture :是否使用捕捉,一般用 false 。例如:document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false); 

IE中: 

target.attachEvent(type, listener); 

target: 文档节点、document、window 或 XMLHttpRequest。 

type: 字符串,事件名称,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。 

listener :实现了 EventListener 接口或者是 JavaScript 中的函数。 例如:document.getElementById("txt").attachEvent("onclick",function(event){alert(event.keyCode);}); 

W3C 及 IE 同时支持移除指定的事件, 用途是移除设定的事件, 格式分别如下: 

W3C格式: 

removeEventListener(event,function,capture/bubble); 

Windows IE的格式如下: 

detachEvent(event,function); 

target.addEventListener(type, listener, useCapture); 

target 文档节点、document、window 或 XMLHttpRequest。 

type 字符串,事件名称,不含“on”,比如“click”、“mouseover”、“keydown”等。 

listener 实现了 EventListener 接口或者是 JavaScript 中的函数。 

useCapture 是否使用捕捉,看了后面的事件流一节后就明白了,一般用 false 

事件触发时,会将一个 Event 对象传递给事件处理程序,比如: 

document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false); 

适应的浏览器版本不同,同时在使用的过程中要注意 

attachEvent方法 按钮onclick IE中使用 

addEventListener方法 按钮click fox中使用 

两者使用的原理:可对执行的优先级不一样,下面实例讲解如下: 

attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列) 

addEventListener方法 用于 Mozilla系列 

举例: document.getElementById("btn").onclick = method1; 

document.getElementById("btn").onclick = method2; 

document.getElementById("btn").onclick = method3;如果这样写,那么将会只有medhot3被执行 

写成这样: 

var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function); 

btn1Obj.attachEvent("onclick",method1); 

btn1Obj.attachEvent("onclick",method2); 

btn1Obj.attachEvent("onclick",method3);执行顺序为method3->method2->method1 

如果是Mozilla系列,并不支持该方法,需要用到addEventListener var btn1Obj = document.getElementById("btn1"); 

//element.addEventListener(type,listener,useCapture); 

btn1Obj.addEventListener("click",method1,false); 

btn1Obj.addEventListener("click",method2,false); 

btn1Obj.addEventListener("click",method3,false);执行顺序为method1->method2->method3 

实例:(要注意的是div必须放到js前面才行) 

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if  (typeof window.addEventListener !=undefined) {
 window.addEventListener(”load”,rollover,false);
 } else {
 window.attachEvent(”onload”,rollover)
 }

上述的 typeof window.addEventListener != “undefined” 程序代码可以判断使用者的浏览器是否支持AddEventListener这个事件模型, 如果不支持就使用attachEvent.

参考:http://www.jb51.net/article/18220.htm

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
判断文章发布时间是否超过一年时输出一段声明
今天走访博客时发现一个小功能挺好的,就是判断文章发布时间是否超过一年时输出一段声明 功能十分小巧,我就不写成插件拖累大家网站速度了 emlog系统添加教程 添加如下代码到模版文件夹/e
Youngxj
2018/06/06
7360
WordPress文章添加彩色美化框及彩色按钮
有时候,wordpress的文章编辑器并不能满足我们的要求,那就要靠我们自己动手实现了。
AlexTao
2019/12/13
1.7K0
WordPress文章添加彩色美化框及彩色按钮
WordPress美化-缩略图&整站添加圆角、边框、阴影
我觉得自己的审美是在一直在变化的,总是感觉还会有更好的效果。那就要不断的更改尝试。
AlexTao
2019/12/13
2.9K0
WordPress美化-缩略图&整站添加圆角、边框、阴影
WordPress美化日主题文章底部版权说明并附加后台自定义字段
个东西是过年期间美化向日葵那个站搞的成果。有人喜欢要我贴个教程。其实有一点点复杂但是搞清楚了也很简单实现。主要是要有一点点基础。那么既然有人需要,还是贴一个教程吧。看不懂的话就去学习。或者加群交流。
AlexTao
2020/03/11
1.5K0
WordPress主题制作(六):制作侧边栏模板sidebar.php
完成了头部和底部的抽离,接下来我们要做的就是从index中抽离侧边栏sidebar。
Yiiven
2022/12/15
1.5K0
WordPress展示最近更新过的文章,并用邮件通知评论过的用户
展示更新文章代码 将以下代码添加到主题的 functions.php里 /** * WordPress展示最近更新过的文章 并通知评论过的用户 * https://www.dujin.org/fenxiang/wp/9809.html */ //展示最近更新过的文章 function recently_updated_posts($num=10,$days=7) { if( !$recently_updated_posts = get_option('recently_updated_pos
杨逸轩
2018/06/14
5960
WordPress动漫图片主题cxudy模板代码
WordPress多功能CX-UDY图片主题是基于wordpress开源程序开发的简洁时常自适应图片模板,适用于各种图片写真类型、图片壁纸类、博客站、多媒体分享站等类型站点。图片主题效果演示http://m.bokequ.com/dongman/gc
博客趣
2024/02/14
4150
WordPress动漫图片主题cxudy模板代码
纯代码为WordPress文章内容添加锚点目录功能 支持悬浮跟随版
之前写过一个利用代码给WordPress文章内容添加锚点目录功能,通俗讲就是给网站文章加上目录导航,今天全百科网就通过之前的基础又进一步优化了一下,让这个文章目录导航不占用文章内容的位置,悬浮于文章的左侧或者右侧,而且固定位置,跟随页面滚动,给浏览者更佳的浏览体验。
于飞云计算
2019/07/22
2.3K1
丰富排版页面——为你的wordpress主题添加短代码形式美化框
相信有些wordpresser知道这个东东,在一些主题上这是标配,如deve主题、iartwork主题。原理大概是通过wordpress本身的短代码功能,事先在主题用css样式定义一些美化框,在编辑文章时写入短代码修饰,正式发表后再前台就可以看到效果。 如果你不会或不想修改主题代码实现这个功能,可以考虑一款短代码插件S-shortcodes。使用插件与直接代码增加的效果几乎是一样的(即安装插件对WordPress 速度上影响不大)。详细可以见《S-shortcodes:WordPress短代码形式美
Jeff
2018/01/19
2.3K0
丰富排版页面——为你的wordpress主题添加短代码形式美化框
给WordPress文章添加类似说说的状态样式
在网上找到一个可以给wordpress增加类似说说的样式教程,便在这里贴出来,大神直接无视哈。 先说明一下,本文所说的是在本博客所用主题上加以修改的哈,其他主题的博客使用的时候可以根据需要修改,下面我也会提及一些。 先附上效果图: 步骤一:找到functions.php文件在 register_nav_menu( 'primary', __( '导航菜单', 'Readd' ) ); register_nav_menu( 'second', __( '分类菜单', 'Readd' ) ); 下面添加如下代
用户1696846
2018/07/16
1.4K0
最后更新修改时间提示【可配置时间范围】
原文:https://laolion.com/archives/2547.html 今天在老狮的博客里到一个类似的博文,于是在本站也弄了一个,但样式并不符合我的审美,所以参照了一下Joe6.1版的时间提示样式改了改。
用户7162790
2022/03/23
6570
WordPress网站B2主题会员展示模块
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2022/11/17
1K0
WordPress网站B2主题会员展示模块
WordPress更新文章 显示最近更新时间
子比主题为了防止更新后失效 请在目录内新建func.php 文件 插入上方代码即可
残浔
2023/05/11
7130
WordPress管理员评论回复添加标注Admin印章
米扑博客,为了区别管理员与游客或用户的评论或评论回复,显示博主身份是必要的。 本文原文,请见米扑博客: WordPress管理员评论回复添加标注Admin印章 例如:米扑博客 - 关于 WordPre
阳光岛主
2018/05/17
1.2K0
WordPress子比主题添加底部统计信息模块小工具
织音在此提醒您:zibll.com是Zibll子比主题唯一官网,子比主题受国家版权保护,著作权登记号: 2021SR0401471 使用盗版主题对您的网站及财产安全将会带来无数的未知风险!同时,开发不易,我们一直在努力让子比主题变得更加美好,为了您的权益及作者的不易,真诚的呼吁每一位用户:支持正版,从我做起!
若梦
2022/04/01
1.5K0
wordpress优化经历(一)
接下来主要来实现怎么让血小板进行拖拽的功能: 这个问题我第一的想法是可以使用我在大二学JS的时候手写过拖拽的原生Demo,实现了三种拖拽的形式。 具体参考我之前的博文:js的成长经历(十)——js事件高级:拖拽 现在想一想这些基础的JS源码实现还是挺重要的。后来也通过查阅资料,也有下面的一种实现块元素拖拽的方法:
不愿意做鱼的小鲸鱼
2022/09/26
4340
wordpress优化经历(一)
为 WordPress 添加前台 AJAX 注册登录功能
功能前台化已成为 WordPress 主题制作的一大趋势,抛却缓慢臃肿的后台不说,前台便捷操作能给用户带来良好体验。登录与注册是网站的重要功能之一,这篇文章将讲述如何实现漂亮的 WordPress 前台登录注册功能,此外观移植自觉唯主题。
小狐狸说事
2022/11/17
1.7K0
为 WordPress 添加前台 AJAX 注册登录功能
wordpress优化经历(四)——一把伞的时间轴归档页模板
一把伞的时间轴归档页模板文件 链接一:https://download.csdn.net/download/qq_42038623/21072565
不愿意做鱼的小鲸鱼
2022/09/26
2660
wordpress优化经历(四)——一把伞的时间轴归档页模板
WordPress美化之文章内页新增彩色渐变框【共9套】
首先把下面的CSS丢到你的主题style.css样式文件内。圆角值修改下边的第三行即可。默认8px
行云博客
2022/05/11
2870
博客前端美化记录(持续更新)
程序:Typecho 主题:Cuteen Version:4.1 作者:@Veen zhao
Y5neKO
2022/01/13
7360
博客前端美化记录(持续更新)
推荐阅读
相关推荐
判断文章发布时间是否超过一年时输出一段声明
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验