问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JavaScript ie如何阻止事件冒泡

发布网友 发布时间:2022-05-01 18:50

我来回答

3个回答

热心网友 时间:2022-04-20 15:03

IE的event和其他的标准DOM的Event是不一样的,不同的浏览器事件的冒泡机制也是有区别

IE:
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默认行为

Firefox:
event.preventDefault();// 取消事件的默认行为
event.stopPropagation(); // 阻止事件的传播

其他的浏览器,可以自己试一下。。。

http://hi.baidu.com/trarck/blog/item/1a959acad2c1d583c91768fc.html
------------------------------------------------------------------

下面的内容可以看一下:

event代表事件的状态,专门负责对事件的处理,它的属性和方法能帮助我们完成很多和用户交互的操作;

一、Event对象的主要属性和方法

1.type:事件的类型,就是HTML标签属性中,没有“on”前缀之后的字符串,例如“Click”就代表单击事件。

2.srcElement:事件源,就是发生事件的元素。比如<a onclick="check()"></a> a这个链接是事件发生的源头,也就是该事件的srcElement。(非IE中用target)

3.button:声明了被按下的鼠标键,是一个整数。0代表没有按键,1代表鼠标左键,2代表鼠标右键,4代表鼠标的中间键,如果按下了多个鼠标键,就把这些值加在一起,所以3就代表左右键同时按下。

4.clientX/clientY:是指事件发生的时候,鼠标的横、纵坐标,返回的是整数,它们的值是相对于包容窗口的左上角生成的。

5.offsetX/offsetY:鼠标指针相对于源元素的位置,可以确定单击Image对象的哪个象素。

6.altKey,ctrlKey,shiftKey:顾名思义,这些属性是指鼠标事件发生的时候,是否同时按住了Alt、Ctrl或者Shift键,返回的是一个布尔值。

7.keyCode:返回keydown和keyup事件发生的时候,按键的代码以及keypress事件的Unicode字符。比如event.keyCode=13代表按下了回车键;

8.fromElement、toElement前者是指代mouseover事件移动过的文档元素,后者指代mouseout事件中鼠标移动到的文档元素。

9.cancelBubble:一个布尔属性,把它设置为true的时候,将停止事件进一步起泡到包容层次的元素,它用于检测是否接受上层元素的事件的控制。true代表不被上层元素的事件控制,false代表允许被上层元素的事件控制。

10.returnValue:一个布尔值属性,设置为false的时候可以阻止浏览器执行默认的事件动作,相当于<a href=”#” onclick=”ProcessMethod();return false;” />。

11.attachEvent()和detachEvent()方法:为制定DOM对象事件类型注册多个事件处理函数的方法,它们有两个参数,第一个是事件类型,第二个是事件处理函数。在attachEvent()事件执行的时候,this关键字指向的是window对象,而不是发生事件的那个元素。

二、 IE Event对象的一些说明
Event对象是一个全局属性
在IE中,不能把Event对象作为参数传递给事件处理程序,只能用window.event或者event来引用Event对象。因为在IE中,Event是window的一个属性,也就是说event是一个全局变量,这个变量提供了事件的细节。

三、关于事件的起泡的概念

IE中事件的起泡:IE中事件可以沿着包容层次一点点起泡到上层,也就是说,下层的DOM节点定义的事件处理函数,到了上层的节点如果还有和下层相同事件类型的事件处理函数,那么上层的事件处理函数也会执行。例如,<div>标签包含了<a>,如果这两个标签都有 onclick事件的处理函数,那么执行的情况就是先执行<a>标签的onclick事件处理函数,再执行<div>的事件处理函数。如果希望<a>的事件处理函数执行完毕之后,不希望执行上层的<div>的onclick的事件处理函数了,那么就把 cancelBubble设置为false即可。

四、W3C DOM标准中的Event
和IE不同的是,W3C DOM中的Event对象并不是window全局对象下面的属性,换句话说,event不是全局变量。通常在DOM二级标准中,event作为发生事件的文档对象的属性。Event含有两个子接口,分别是UIEvent和MutationEvent,这两个子接口实现了Event的所有方法和属性,而 MouseEvent接口又是UIEvent的子接口,所以实现了UIEvent和Event的所有方法和属性。下面,我们就看看Event、 UIEvent和MouseEvent的主要属性和方法。
1.Event
type:事件类型,和IE类似,但是没有“on”前缀,例如单击事件只是“click”。
target:发生事件的节点。
currentTarget:发生当前正在处理的事件的节点,可能是Target属性所指向的节点,也可能由于捕捉或者起泡,指向Target所指节点的父节点。
eventPhase:指定了事件传播的阶段。是一个数字。
timeStamp:事件发生的时间。
bubbles:指明该事件是否起泡。
cancelable:指明该事件是否可以用preventDefault()方法来取消默认的动作。
preventDefault()方法:取消事件的默认动作;
stopPropagation()方法:停止事件传播。
2.UIEvent
view:发生事件的window对象。
detail:提供事件的额外信息,对于单击事件、mousedown和mouseup事件都代表的是点击次数。
3.MouseEvent
button:一个数字,指明在mousedown、mouseup和单击事件中,鼠标键的状态,和IE中的button属性类似,但是数字代表的意义不一样,0代表左键,1代表中间键,2代表右键。
altKey、ctrlKey、shiftKey、metaKey:和IE相同,但是IE没有最后一个。
clientX、clientY:和IE的含义相同,但是在DOM标准中,这两个属性值都不考虑文档的滚动情况,也就是说,无论文档滚动到哪里,只要事件发生在窗口左上角,clientX和clientY都是0,所以在IE中,要想得到事件发生的坐标相对于文档开头的位置,要加上 document.body.scrollLeft和document.body.scrollTop。
screenX、screenY:鼠标指针相对于显示器左上角的位置,如果你想打开新的窗口,这两个属性很重要。
relatedTarget:和IE中的fromElement、toElement类似,除了对于mouseover和mouseout有意义外,其他的事件没什么意义。

热心网友 时间:2022-04-20 16:21

window.event.cancelBubble = true;
return false;

热心网友 时间:2022-04-20 17:55

stoppropagation
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 驾驶证情况查询 读《回忆鲁迅先生》,回答 梦见钱被雨淋湿了,银行不要是什么情况? 微信好友被删了,自己又不知道他的了。怎么找回? 莲藕碎蒸猪肉的做法,莲藕碎蒸猪肉怎么做好吃 樱花树移植的最佳时间是什么时间 盆栽樱花树为何不开花 樱花树好载吗?容易活吗? 樱花 盆栽 容易死么? 樱花树能当盆栽吗? 可以的话 盆的尺寸 和 如何养护呢 我想问下可以在花盆里种樱花树吗??因为是放在阳台上所以换土什么的都很不方便种树会不会容易死呢? 海尔小神童洗衣机突然没电了怎么回事? 我的祖父鲁迅先生中的呃不是碰壁而是遭受*那是遭受了什么*呢? 有关鲁迅先生的问题 鲁迅为何“一个都不宽恕” 鲁迅先生和他弟周作人的矛盾是怎么回事?怎么弄反目成仇了! 科美c652复印机打印效果清晰,复印效果模糊是哪里的问题,该怎么解决 鲁迅家遭遇的变故是什么【鲁迅自传里的】 海尔洗衣机停电了怎么办 鲁迅先生的祖父因何入狱? JS怎么阻止阻止onmouseover和onmouseout事件冒泡 javascript事件的冒泡机制,以及如何阻止冒泡 莲藕蒸肉怎么做好吃,莲藕蒸肉的家常做法 机动车驾驶人出现哪些情况会被注销驾驶证 驾照哪些情况会被扣分 梦见银行开业逢下雨 手机开不了机是什么原因 梦见下雨下钱币下来 JS问题/jquery问题 如何让DIV里的元素不触发mouseover事件?_百度... 手机突然间打不开了 86CM等于几尺几的腰围? 渣吧拉撒什么意思? javascript HTML onmouseover=&quot;mouseOver()&quot; onmouseout=&quot;mouseOut... 渣吧????。和相亲男交往过,后来分了,没有联系,但是微信什么的都没删,他还会去评论女生的微信, 如何在线咨询驾驶证情况? 如何添加2个javascript函数,响应mouseover事件. 在一起6年的男朋友因为新鲜感和我分手,这是渣吧? 渣吧五楼豆腐是什么意思? 渣吧野是什么意思? 有个网恋的小哥哥找我谈对象,认识不到两天,你们觉得他人品怎么样 我觉得渣吧