事件对象库

 1 //事件对象库;
 2 var EventUtil={
 3     addEvent:function(obj,type,fn){
 4         if(obj.addEventListener){
 5             obj.addEventListener(type,fn,false);
 6         }else if(obj.attachEvent){
 7             obj.attachEvent(‘on‘+type,fn);
 8         }
 9     },
10     removeEvent:function(obj,type,fn){
11         if(obj.removeEventListener){
12             obj.removeEvent(type,fn,false);
13         }else if(obj.detachEvent){
14             obj.detachEvent(‘on‘+type,fn);
15         }
16     },
17     getEvent:function(e){            //获取事件对象
18         return e.target|| event.srcElement;
19     },
20     preventDefault:function(e){     //阻止默认行为;
21         if(e.preventDefault){
22             e.preventDefault();
23         }else{
24             e.returnValue=false;
25         }
26     },
27     stopPropagation:function(e){     //阻止冒泡;
28         if(e.stopPropagation){
29             e.stopPropagation();
30         }else{
31             e.cancelBubble=true;
32         }
33     },
34     clientXY:function(e){ //获取可视范围内的鼠标位置;
35         var T=document.documentElement.scrollTop||document.body.scrollTop;
36         var L=document.documentElement.scrollLeft||document.body.scrollLeft;
37         return {x:L+clientX , y:T+e.clientY};
38     },
39     getRelatedTarget:function(e){
40         if(e.relatedTarget){
41             return e.relatedTarget;
42         }else if(event.toElement){
43             return e.toElement;
44         }else if(e.toElement){
45             return e.fromElement;
46         }else{
47             return null;
48         }
49     },
50     getButton:function(e){
51         if(document.implementation.hasFeature("MouseEvents","2.0")){
52             return e.button;
53         }else{
54             switch(e.button){
55                 case 0:
56                 case 1:
57                 case 3:
58                 case 5:
59                 case 7:
60                     return 0;
61                 case 2:
62                 case 6:
63                     return 2;
64                 case 4:
65                     return 1;
66             }
67         }
68     },
69     getCharCode:function(e){
70         if(typeof event.charCode==‘number‘){
71             return e.charCode;
72         }else{
73             return e.keyCode;
74         }
75     },
76     getWheelDelta:function(e){
77         if(e.wheelDelta){
78             return (client.engine.opera && client.engine.opera<9.5? -event.wheelDelta :event.wheelDelta);
79         }else{
80             return -event.detail *40;
81         }
82     }
83 };
时间: 2024-10-01 11:12:58

事件对象库的相关文章

JS-DOM2级事件对象跨浏览器处理(已封装)

1 var eventUill = { 2 //添加事件 3 addHander: function(element, type, handler) { 4 if(element.addEventListener) { 5 element.addEventListener(type, handler, false); 6 } else if(element.attachEvent) { 7 element.attachEvent('on' + type, handler); 8 } else {

跨浏览器的事件处理程序——事件处理程序、事件对象差异

为了以跨浏览器的方式处理事件,不少开发人员会使用能够隔离浏览器差异的javascript库,本文从事件处理程序.事件对象差异出发,演示开发最适合的事件处理方法 基本名词解析: 事件 用户或浏览器自身执行的某种动作 事件流 从页面中接收事件的顺序,,IE的事件流指的是事件冒泡流,而Netscape Communicator的事件流是事件捕获流 事件冒泡 事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档) 事件捕获 不太具体的节点应该更早接收到事

转换QTP对象库xx.tsr文件为xx.xml文件以便git跟踪

众所周知,Git仅能跟踪文本文件,而QTP所生成的对象库文件xx.tsr是一种二进制文件,不可以被git所跟踪.本文详细介绍了利用git的hooks特性,来将xx.tsr文件转换成xx.xml文件,以便跟踪对象库的版本历史. 首先,git的hooks特性是指在特定事件发生之前或者之后执行特定脚本代码的功能(从概念上类比,与监听事件.触发器等类似).特定事件既是指git执行的特定事件,如commit,push,recieve等,以下是常见的git事件: applypatch-msg pre-app

JavaScript之jQuery-4 jQuery事件(页面加载后执行、事件处理、事件冒泡、事件对象、模拟操作)

一.jQuery 页面加载后执行 代码执行的时机选择 - $(document).ready()方法和 window.onload事件具有相似的功能,但是在执行时机方面是有区别的 - window.onload 事件是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行 - $(document).ready()方法注册的事件处理程序,在DOM完全加载后就可以调用 - 一般来讲, $(document).ready()的执行要优于window.onload事件 - 需要注意的是,

从零开始学习jQuery (五) 事件与事件对象

原文:从零开始学习jQuery (五) 事件与事件对象 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQuer

事件对象(二)

冒泡和默认行为 如果在页面中重叠了多个元素,并且重叠的这些元素都绑定了同一个事件,那么就会出现冒泡问题. 例,html代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>事件对象</title> <script type="text/javascript" src="jquery-1.12.3.js&

javascript event(事件对象)详解

1. 事件对象 thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.45;vertical-align:top;border-top:1px solid #ddd}.table>thead

jQuery事件对象的属性和方法

jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(

jQuery事件对象的作用

jQuery事件对象的作用 事件中的Event对象容易被初学者忽略掉,可能大多时候初学者不知道怎么去用它,但有些时候它还是非常有用的 一个标准的"click"点击事件 $(elem).on("click",function(event){ event //事件对象 }) 在不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异.jQuery根据 W3C 标准规范了事件对象,所以在jQuery事件回调方法中获取到的事件对象是经过兼容后处理过的一个标准的跨浏览器对象