一、事件流
IE中是冒泡型事件,即从最特定的事件目标到最不特定的事件目标。
Netscape Navigator使用的是捕获型事件,这个跟IE中采用的冒泡型事件相反。
DOM事件流同时支持两种事件模型,但捕获型事件先发生。
二、事件处理函数/监听函数 事件是用户或浏览器自身进行的特定行为。这些事件都有自己的名字,如click、load、mouseover等。
事件处理函数有两种分配方式:在JavaScript中或者在HTML中。
如果在JavaScript中分配事件处理函数,则首先要获得要处理的对象的引用,然后将函数赋值给对应的事件处理函数属性,像这样(事件处理函数名称必须小写):
复制代码 代码如下:
var oDiv=document.getElementById("div1");
oDiv.onclick=function(){
alert("I was clicked");
}
如果在HTML中分配事件处理函数,则只要在HTML标签中添加事件处理函数的特征,并在其中包含合适的脚本作为特性值就可以了,如下:
复制代码 代码如下:
<div onclick="alert('I was clicked')"></div>
为了给每个可用事件分配多个事件处理函数,IE和DOM各提供了自己的方法。
IE中每个元素和window对象都有两个方法:attachEvent()和detachEvent(),顾名思义,前者用来给一个事件附加事件处理函数,后者用来将事件处理函数分离出来。每个方法都有两个参数:要分配的事件处理函数名字及一个函数。如:
复制代码 代码如下:
var fnClick=function(){
alert("Clicked");
}
var fnClick2=function(){
alert("Click2");
}
var oDiv=document.getElementById("div");
oDiv.attachEvent("onclick",fnClick);
oDiv.attachEvent("onclick",fnClick2)
oDiv.detachEvent("onclick",fnClick);
oDiv.detachEvent("onclick",fnClick2);
DOM中采用了addEventListener()和removeEventListener()来分配和移除事件处理函数。与IE不同的是这些方法有三个参数,第三个参数标识是用于冒泡阶段还是捕获阶段。用于捕获阶段为true,用于冒泡阶段则为false。移除时第三个参数要跟添加时保持一致。如:
复制代码 代码如下:
var fnClick=function(){
alert("Clicked");
}
var fnClick2=function(){
alert("Click2");
}
var oDiv=document.getElementById("div");
oDiv.addEventListener("onclick",fnClick,false);
oDiv.addEventListener("onclick",fnClick2,false)
oDiv.removeEventListener("onclick",fnClick,false);
oDiv.removeEventListener("onclick",fnClick2,false);
三、事件对象 事件对象一般包含的信息是:引起事件的对象,事件发生时鼠标的信息,事件发生时键盘的信息。
定位
IE中事件对象是window对象的一个属性event。事件处理函数必须这样访问事件对象:
复制代码 代码如下:
oDiv.onclick = function(){
var oEvent=window.event;
}
DOM标准则说,event对象必须作为唯一的参数传递给事件处理函数。所以,在DOM兼容的浏览器(如Mozilla、Safair、Opera)中访问事件对象为:
复制代码 代码如下:
oDiv.onclick=function(){
var oEvent=arguments[0];
}
//or
oDiv.onclick=function(oEvent){
}
属性方法相似性
1、获取事件类型:oEvent.type
2、获取按键代码:oEvent.keyCode
3、检测Shift、Alt、Ctrl键:oEvent.shiftKey;oEvent.altKey;oEvent.ctrlKey;
4、获取客户端鼠标坐标:oEvent.clientX;oEvent.clientY;
5、获取屏幕坐标:oEvent.screenX;oEvent.screenY;
属性方法区别
1、获取目标:IE用srcElement,DOM用target;
2、获取按键字符代码:IE用keyCode,DOM用charCode和String.fromCharCode;
3、阻止某个事件的默认行为:IE用oEvent.returnValue=false,DOM用preventDefault()方法;
4、停止事件冒泡:IE中用oEvent.cancelBubble=true;DOM中用oEvent.stopPropagation();
四、事件的类型 1、鼠标事件
鼠标事件包含click、dblclick、mousedown、mouseout、mouseover、mouseup、mousemove。
事件顺序:dblclick事件会先后触发以下事件:mousedown、mouseup、click、mousedown、mouseup、click、dblclick。
2、键盘事件
键盘事件包括:keydown、keypress、keyup。
事件顺序:用户按一次某字符按键时,会先后触发以下事件:keydown、keypress、keyup。如果按一次某非字符按键时,会先后触发以下事件:keydown、keyup。
3、HTML事件
HTML事件包括:load、unload、abort、error、select、change、submit、reset、resize、scroll、focus、blur。
4、变化事件
虽然变化事件已经是DOM标准的一部分,但是目前还没有任何主流的浏览器实现了它。因此这里只是列举出来。
变化事件包括:DOMSubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMNodeRemovedFromDocument、DOMNodeInsteredIntoDocument。
作者:Artwl
出处:http://artwl.cnblogs.com
相关推荐:
目前AI软件有哪些?智能新时代的必备工具
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
SOE优化:让你的网站轻松登顶,流量激增的秘密武器,广西网站建设存在问题
AI免费写作一键生成,效率与创意的完美结合
文章创作AI:引领智能写作的新时代
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
ChatGPT无法打开?这些解决办法让你重新畅享智能对话!,北大写作ai
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径
seo规范是什么意思,seo包括哪些内容 ,AI智能破解
SEO更好,让你的网站从此脱颖而出,渝中的知名网站建设
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
ChatGPT无法加载?检查网络并尝试重启,助您快速恢复畅通体验,burj ai
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
文章写作AI:让创作更高效、精准的智能助手
SEO单页网站:助力企业在线营销的一站式解决方案,湖南视频网站优化方式
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
ChatGPT为什么页面下拉不了?问题解析与解决方案,ai对准
如何用AI写公众号文章?让创作更高效、更轻松
seo需要买什么,seo需要考虑什么 ,ai做表头
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
优化网站的秘诀:提高网站速度与用户体验,助力业务腾飞,旅游网站建设步骤
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
SEO这种营销方式,改变你网站流量的秘密武器,佛山网站设计建设
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
在线AI写文:开启高效创作新时代
AI免费生成文字,打造创作新时代
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
在线AI生成文章:智能写作的未来趋势
ChatGPT回答是空白的背后,究竟隐藏着什么秘密?,如何用ai写作来赚钱
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
seo网站通过什么软件,网站seo软件哪个 ,战团ai
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
seo管理系统是什么,seo网站管理 ,过度圆ai
优化提长:让企业效能提升的秘密武器,长沙网站建设创意
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
专业SEO方案助力企业网站流量暴增,精准引流不再是难题,网站建设合同4篇
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
ChatGPT:引领人工智能对话新时代的智能助手,Ai shiang
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
怎么识别是AI写的文章
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
SEO优化的话题:助力企业成功的关键,夏杰ai智能管家
AI撰写大数据解决方案:开启智能数据时代的新篇章,ai头号公敌
ChatGPT目前,我无法查看或打开附件,但我依然能为你提供全面的帮助,苹果ai谷歌ai