event对象
1. type:事件的类型,如click;
2. srcElement/target:事件源;
3. button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下多个键,把这些值加起来,所以3就代表左右键同时按下; (firefox中 0代表左键,1代表中间键,2代表右键)
4. clientX/clientY:鼠标相对于浏览器窗口可视文档区域的左上角的位置
5. offsetX,offsetY/layerX,layerY:事件发生的时候,鼠标相对于源元素左上角的位置(包括边框及滚动距离);
6. X,Y,相对于定位元素,看总结部分,pageX,pageY:相对于body左上角;
7. altKey,ctrlKey,shiftKey等:返回一个布尔值;
8. keyCode:返回keydown何keyup事件发生的时候按键的代码,以及keypress 事件的Unicode字符;(firefox2不支持 event.keycode,可以用 event.which替代 )
9. fromElement,toElement:前者是指代mouseover事件中鼠标移动过的文档元素,后者指代mouseout事件中鼠标移动到的文 档元素;
10. cancelBubble=true/e.stopPropagation();
11. returnValue = false/e.preventDefault();
12. attachEvent(),detachEvent()/addEventListener(),removeEventListener:为制定 DOM对象事件类型注册多个事件处理函数的方法,它们有两个参数,第一个是事件类型,第二个是事件处理函数。在attachEvent()事件执行的时候,this关键字指向的是window对象,而不是发生事件的那个元素;
13. screenX、screenY:鼠标指针相对于显示器左上角的位置,如果你想打开新的窗口,这两个属性很重要;
总结一句话:坐标就是搞清楚以什么为参考点
1. ie的x,y是以事件触发元素的父元素外界为参考点(不包括滚动距离)
4. ie的offsetX,offsetY和ff的layerX,layerY以事件触发元素内界的左上角为参考点(肯定包括滚动距离) 当有边框时,可能出现负数
滚动距离的产生就是子元素的高度(或宽度)大于父元素的高度(或宽度)时 style.overflow的设置
浙公网安备 33010602011771号