[ Index ] |
|
Code source de vtiger CRM 5.0.2 |
1 if (!window.Event) { 2 var Event = new Object(); 3 } 4 5 Object.extend(Event, { 6 KEY_BACKSPACE: 8, 7 KEY_TAB: 9, 8 KEY_RETURN: 13, 9 KEY_ESC: 27, 10 KEY_LEFT: 37, 11 KEY_UP: 38, 12 KEY_RIGHT: 39, 13 KEY_DOWN: 40, 14 KEY_DELETE: 46, 15 16 element: function(event) { 17 return event.target || event.srcElement; 18 }, 19 20 isLeftClick: function(event) { 21 return (((event.which) && (event.which == 1)) || 22 ((event.button) && (event.button == 1))); 23 }, 24 25 pointerX: function(event) { 26 return event.pageX || (event.clientX + 27 (document.documentElement.scrollLeft || document.body.scrollLeft)); 28 }, 29 30 pointerY: function(event) { 31 return event.pageY || (event.clientY + 32 (document.documentElement.scrollTop || document.body.scrollTop)); 33 }, 34 35 stop: function(event) { 36 if (event.preventDefault) { 37 event.preventDefault(); 38 event.stopPropagation(); 39 } else { 40 event.returnValue = false; 41 event.cancelBubble = true; 42 } 43 }, 44 45 // find the first node with the given tagName, starting from the 46 // node the event was triggered on; traverses the DOM upwards 47 findElement: function(event, tagName) { 48 var element = Event.element(event); 49 while (element.parentNode && (!element.tagName || 50 (element.tagName.toUpperCase() != tagName.toUpperCase()))) 51 element = element.parentNode; 52 return element; 53 }, 54 55 observers: false, 56 57 _observeAndCache: function(element, name, observer, useCapture) { 58 if (!this.observers) this.observers = []; 59 if (element.addEventListener) { 60 this.observers.push([element, name, observer, useCapture]); 61 element.addEventListener(name, observer, useCapture); 62 } else if (element.attachEvent) { 63 this.observers.push([element, name, observer, useCapture]); 64 element.attachEvent('on' + name, observer); 65 } 66 }, 67 68 unloadCache: function() { 69 if (!Event.observers) return; 70 for (var i = 0; i < Event.observers.length; i++) { 71 Event.stopObserving.apply(this, Event.observers[i]); 72 Event.observers[i][0] = null; 73 } 74 Event.observers = false; 75 }, 76 77 observe: function(element, name, observer, useCapture) { 78 var element = $(element); 79 useCapture = useCapture || false; 80 81 if (name == 'keypress' && 82 (navigator.appVersion.match(/Konqueror|Safari|KHTML/) 83 || element.attachEvent)) 84 name = 'keydown'; 85 86 this._observeAndCache(element, name, observer, useCapture); 87 }, 88 89 stopObserving: function(element, name, observer, useCapture) { 90 var element = $(element); 91 useCapture = useCapture || false; 92 93 if (name == 'keypress' && 94 (navigator.appVersion.match(/Konqueror|Safari|KHTML/) 95 || element.detachEvent)) 96 name = 'keydown'; 97 98 if (element.removeEventListener) { 99 element.removeEventListener(name, observer, useCapture); 100 } else if (element.detachEvent) { 101 element.detachEvent('on' + name, observer); 102 } 103 } 104 }); 105 106 /* prevent memory leaks in IE */ 107 Event.observe(window, 'unload', Event.unloadCache, false);
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 10:22:19 2007 | par Balluche grâce à PHPXref 0.7 |