@awayjs/core
Version:
AwayJS core classes
55 lines • 1.88 kB
TypeScript
import { EventBase } from './EventBase';
/**
* Base export class for dispatching events
*
* @export class away.events.EventDispatcher
*
*/
export declare class EventDispatcher {
private _listenerObjects;
private _t;
constructor(target?: any);
/**
* Add an event listener
* @method addEventListener
* @param {String} type of event to add a listener for
* @param {Function} listener function
*/
addEventListener(type: string, listener: (event: EventBase) => void): void;
/**
* Remove an event listener
* @method removeEventListener
* @param {String} type of event to remove a listener for
* @param {Function} listener function
*/
removeEventListener(type: string, listener: (event: EventBase) => void): void;
/**
* Dispatch an event
* @method dispatchEvent
* @param {Event} event to dispatch
*/
dispatchEvent(event: EventBase, target?: any): void;
/**
* check if an object has an event listener assigned to it
* @method hasListener
* @param {String} type of event to remove a listener for
* @param {Function} listener function
*/
hasEventListener(type: string, listener?: (event: EventBase) => void): boolean;
protected removeAllEventListeners(): void;
}
export declare class ListenerObject {
private _index;
private _listeners;
numListeners: number;
addEventListener(listener: (event: EventBase) => void): void;
removeEventListener(listener: (event: EventBase) => void): void;
dispatchEvent(event: EventBase): void;
/**
* get Event Listener Index in array. Returns -1 if no listener is added
* @method getEventListenerIndex
* @param {Function} listener function
*/
getEventListenerIndex(listener: (event: EventBase) => void): number;
}
//# sourceMappingURL=EventDispatcher.d.ts.map