Event/window.Event属性和方法

type:事件的类型,如onlick中的click;
srcElement/target:事件源,就是发生事件的元素;
button:声明被按下的鼠标键,整数,1表明左键,2表明右键,4表明中键,若是按下多个键,酒把这些值加起来,因此3就表明左右键同时按下;(firefox中 0表明左键,1表明中间键,2表明右键)
clientX/clientY: 事件发生的时候,鼠标相对于浏览器窗口可视文档区域的左上角的位置;(在DOM标准中,这两个属性值都不考虑文档的滚动状况,也就是说,不管文档滚动到哪 里,只要事件发生在窗口左上角,clientX和clientY都是 0,因此在IE中,要想获得事件发生的坐标相对于文档开头的位置,要加上document.body.scrollLeft和 document.body.scrollTop)
offsetX,offsetY/layerX,layerY:事件发生的时候,鼠标相对于源元素左上角的位置;
x,y/pageX,pageY:检索相对于父要素鼠标水平坐标的整数;
altKey,ctrlKey,shiftKey等:返回一个布尔值;
keyCode:返回keydown何keyup事件发生的时候按键的代码,以及keypress 事件的Unicode字符;(firefox2不支持 event.keycode,能够用 event.which替代 )
fromElement,toElement:前者是指代mouseover事件中鼠标移动过的文档元素,后者指代mouseout事件中鼠标移动到的文档元素;
cancelBubble:一个布尔属性,把它设置为true的时候,将中止事件进一步起泡到包容层次的元素;(e.cancelBubble = true; 至关于 e.stopPropagation();)
returnValue:一个布尔属性,设置为false的时候能够组织浏览器执行默认的事件动做;(e.returnValue = false; 至关于 e.preventDefault();)
attachEvent(),detachEvent()/addEventListener(),removeEventListener: 为制定DOM对象事件类型注册多个事件处理函数的方法,它们有两个参数,第一个是事件类型,第二个是事件处理函数。在attachEvent()事件执行 的时候,this关键字指向的是window对象,而不是发生事件的那个元素;
screenX、screenY:鼠标指针相对于显示器左上角的位置,若是你想打开新的窗口,这两个属性很重要;
一些说明:浏览器

event表明事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等;
event对象只在事件发生的过程当中才有效。
firefox里的event跟IE里的不一样,IE里的是全局变量,随时可用;firefox里的要用参数引导才能用,是运行时的临时变量。
在IE/Opera中是window.event,在Firefox中是event;而事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,Opera中二者均可用。
下面两句效果相同
var evt = (evt) ? evt : ((window.event) ? window.event : null);
var evt = evt || window.event; // firefox下window.event为null, IE下event为null
IE中事件的起泡
IE 中事件能够沿着包容层次一点点起泡到上层,也就是说,下层的DOM节点定义的事件处理函数,到了上层的节点若是还有和下层相同事件类型的事件处理函数,那 么上层的事件处理函数也会执行。例如, div 标签包含了 a ,若是这两个标签都有onclick事件的处理函数,那么执行的状况就是先执行标签 a 的onclick事件处理函数,再执行 div 的事件处理函数。若是但愿的事件处理函数执行完毕以后,不但愿执行上层的 div 的onclick的事件处理函数了,那么就把cancelBubble设置为true便可。函数

使用时要这样 onmouseout="outtr(event,this)" ;this

function outtr(event,obj){
    var evt = event?event:((window.event)?window.event:null);
    if (evt.ctrlKey)
    {
        obj.className='trCtrl';;
    }else {
        obj.className='trOut';;
    }
}firefox

若是 onmouseout="outtr(this)" ; 在函数里是找不到event的。指针

相关文章
相关标签/搜索