window.event对象在IE与DOM中的异同

window.event对象在IE与DOM中的区别

1、window.event

IE:有window.event对象

DOM:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=domousemove(event)

<input type="button" onmousemove="showDiv(event);"//event不需要加引号
function showDiv(event)
{
var event=window.event||event;
event.clientX;
event.clientY;
}

2 、鼠标当前坐标

通用:两者都有event.clientX和event.clientY属性。

3 、鼠标当前坐标(加上滚动条滚过的距离)

DOM:event.pageX和event.pageY

IE9以上:event.pageX和event.pageY

IE6/7/8不识别event.pageX和event.pageY,解决办法:

PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
页面上的位置=可视区域位置+页面滚动条切去高度-自身border高度

4、鼠标到屏幕的距离

通用:两者都有event.screenX和event.screenY属性。

5、阻止冒泡

IE:event.canceBubble=true;

DOM:event.stopPropagation();

6、阻止默认事件

IE:event.returnValue=false;

DOM:event.preventDefault();

7、获取事件的目标

IE:event.srcElement;

DOM:event.target;

8、为元素绑定事件(现代方法)

IE:element.attachevent(”onclick”, func);。

DOM:element.addeventlistener(”click”, func, true)。

通用:element.onclick=func。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样的, onclick只有执行一个过程,而attachevent和addeventlistener执行的是一个过程列表,也就是多个过程。

例如:element.attachevent(”onclick”, func1);element.attachevent(”onclick”, func2)这样func1和func2都会被执行。

时间: 2024-12-18 15:30:42

window.event对象在IE与DOM中的异同的相关文章

火狐和IE的window.event对象详解(转载)

FF的FIREBUG,不仅能测试JS还能检查CSS错误,是一般常用的. 但它主要检查FF方面的错误,对IE就无能为力了. 要测试IE,就用ieTester,它可以测试IE几乎所有版本(1.0恐怕也用不到测试了),用法也很方便. 至于JS对不同浏览器的兼容注意事项,的确很多,下面给你的也只是部分,一般建议还是采用jquery,prototype等一些已经处理好了兼容的脚本库,更重要的是,它们简化了很多操作,还提供了平常你很难实现的增强功能.可以去搜搜这方面的说明文章. JS兼容浏览器FF/IE技巧

js中window.event对象

event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转. <HTML> <HEAD><TITLE>Cancels Links</T

js window.event对象解析

event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. 1.altKey    描述:    检查alt键的状态. 语法:    event.altKey 可能的值:    当alt键按下时,值为 TRUE ,否则为 FALSE .只读.2.button    描述:    检查按下的鼠标键. 语法:    event.button 可能的值:    没按键    按左键    按右键     按左右键    按中间键

js window.event对象详尽解析

引自:http://www.jb51.net/article/17266.htm event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转. <HTML> <

window.event对象详细介绍

1.event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等.event对象只在事件发生的过程中才有效.event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. 2.属性: altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offs

js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象

事件对象    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息.所有浏览器对象都支持event对象,但支持方式不同. DOM中的事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中.无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event

02 js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍

IE 左键是 window.event.button = 1 右键是 window.event.button = 2 中键是 window.event.button = 4 没有按键动作window.event.button = 0 Firefox 左键是 event.button = 0 右键是 event.button = 2 中键是 event.button = 1 没有按键动作 event.button = 0 Opera 7.23/7.54 鼠标左键是 window.event.but

现代事件处理程序和Event对象对浏览器兼容性的判断和解决

兼容性问题的解决: 因为 IE 和 DOM 对于现代事件处理程序指派的方式不同,为了保证我们编写的代码在 IE 和 DOM浏览器系列下都能用,我们可以用如下代码来解决兼容性问题: var fnClick1 = function() { aleart("我被点击了";) } var fnClick2 = function() { aleart("我也被点击了";) } var oDiv = document.getElementById("div1"

e = e || window.event用法细节讨论

e = e || window.event是我们在做事件处理时候区分IE和其他浏览器事件对象时常用的写法.但是这行兼容性代码有没有必要出现在所有的事件句柄中呢?标准事件调用方式需要这行代码吗?下边我们做详细讨论. 在讨论之前,如果有些忘记或者不熟悉事件对象的先参考其他资料,或者看看这个连接的资料http://wenku.baidu.com/view/400a89f4f61fb7360b4c65ca.html 这里作者把四种主要的事件调用方式总结了出来,本文的讨论也是在此之上延伸说明. <!DOC