[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/include/prototype-1.4.0/src/ -> event.js (source)

   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);


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7