# Class Ext.EventObject

Package: | Ext
Defined In: | EventManager.js
Class: | EventObject
Extends: | Object

Just as Ext.Element wraps around a native DOM node, Ext.EventObject wraps the browser's native event-object normalizing cross-browser differences, such as which mouse button is clicked, keys pressed, mechanisms to stop event-propagation along with a method to prevent default actions from taking place.

For example:

    function handleClick(e, t){ // e is not a standard event object, it is a Ext.EventObject
        e.preventDefault();
        var target = e.getTarget(); // same as t (the target HTMLElement)
        ...
    }
    var myDiv = Ext.get("myDiv");  // get reference to an Ext.Element
    myDiv.on(         // 'on' is shorthand for addListener
        "click",      // perform an action on click of myDiv
        handleClick   // reference to the action handler
    );
    // other methods to do the same:
    Ext.EventManager.on("myDiv", 'click', handleClick);
    Ext.EventManager.addListener("myDiv", 'click', handleClick);

This class is a singleton and cannot be created directly.

## Public Properties

This class has no public properties.

## Public Methods

Method | Defined By
--- | ---
| getCharCode() : Number Gets the character code for the event. Gets the character code for the event. Parameters: None. Returns: `Number` | EventObject
| getKey() : Number Returns a normalized keyCode for the event. Returns a normalized keyCode for the event. Parameters: None. Returns: `Number` The key code | EventObject
| getPageX() : Number Gets the x coordinate of the event. Gets the x coordinate of the event. Parameters: None. Returns: `Number` | EventObject
| getPageY() : Number Gets the y coordinate of the event. Gets the y coordinate of the event. Parameters: None. Returns: `Number` | EventObject
| getRelatedTarget() : HTMLElement Gets the related target. Gets the related target. Parameters: None. Returns: `HTMLElement` | EventObject
| getTarget( [String selector], [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLelement Gets the target for the event. Gets the target for the event. Parameters: `selector` : String (optional) A simple selector to filter the target or look for an ancestor of the target `maxDepth` : Number/Mixed (optional) The max depth to search as a number or element (defaults to 10 || document.body) `returnEl` : Boolean (optional) True to return a Ext.Element object instead of DOM node Returns: `HTMLelement` | EventObject
| getWheelDelta() : Number Normalizes mouse wheel delta across browsers Normalizes mouse wheel delta across browsers Parameters: None. Returns: `Number` The delta | EventObject
| getXY() : Array Gets the page coordinates of the event. Gets the page coordinates of the event. Parameters: None. Returns: `Array` The xy values like [x, y] | EventObject
| preventDefault() : void Prevents the browsers default handling of the event. Prevents the browsers default handling of the event. Parameters: None. Returns: void | EventObject
| stopEvent() : void Stop the event (preventDefault and stopPropagation) Stop the event (preventDefault and stopPropagation) Parameters: None. Returns: void | EventObject
| stopPropagation() : void Cancels bubbling of the event. Cancels bubbling of the event. Parameters: None. Returns: void | EventObject
| within( Mixed el, [Boolean related], Boolean allowEl ) : Boolean Returns true if the target of this event is a child of el. Unless the allowEl parameter is set, it will return false... Returns true if the target of this event is a child of el. Unless the allowEl parameter is set, it will return false if if the target is el. Example usage:
    // Handle click on any child of an element
            Ext.getBody().on('click', function(e){
                if(e.within('some-el')){
                    alert('Clicked on a child of some-el!');
                }
            });

            // Handle click directly on an element, ignoring clicks on child nodes
            Ext.getBody().on('click', function(e,t){
                if((t.id == 'some-el') && !e.within(t, true)){
                    alert('Clicked directly on some-el!');
                }
            });
Parameters: `el` : Mixed The id, DOM element or Ext.Element to check `related` : Boolean (optional) true to test if the related target is within el instead of the target `allowEl` : Boolean {optional} true to also check if the passed element is the target or related target Returns: `Boolean` | EventObject

## Public Events

This class has no public events.