Class: MultiTargetEventListenerManager
MultiTargetEventListenerManager allows you to add event listeners to multiple HTML elements (targets) with support for event types with namespace, allow removing events without having to pass a callback and makes it possible to remove all event lsiteners from all HTML elements in a much simpler avoiding leaving listeners behind which would result in memory leaks.
Example
Adding and removing event listeners
const eventListenerManager = new MultiTargetEventListenerManager()
const element1 = document.getElementById('foo');
const element2 = document.getElementById('bar');
const mouseoverCallback = () => { };
const mouseoutCallback = () => { };
const dragCallback = () => { };
eventListenerManager.addEventListener(element1, 'mouseover', mouseoverCallback);
eventListenerManager.addEventListener(element1, 'mouseout', mouseoutCallback);
eventListenerManager.addEventListener(element2, 'voi.mousemove', dragCallback);
eventListenerManager.addEventListener(element2, 'voi.drag', dragCallback);
eventListenerManager.addEventListener(element2, 'voi.mouseup', () => {
// do not need to store a reference of this function
}));
// Removes a specific event listener from element2
eventListenerManager.removeEventListener(element2, 'voi.mousemove', dragCallback)
// Removes all "mouseup" event listeners added to "voi" namespace on element2
eventListenerManager.removeEventListener(element2, 'voi.mouseup')
// Removes all event listeners added to element1 and element2
eventListenerManager.reset();
Constructors
new MultiTargetEventListenerManager()
new MultiTargetEventListenerManager():
MultiTargetEventListenerManager
Returns
MultiTargetEventListenerManager
Methods
addEventListener()
addEventListener(
target
,type
,callback
,options
?):void
Parameters
• target: EventTarget
• type: string
• callback: EventListener
• options?: AddEventListenerOptions
Returns
void
Defined in
packages/core/src/utilities/eventListener/MultiTargetEventListenerManager.ts:42
removeEventListener()
removeEventListener(
target
,type
,callback
?,options
?):void
Parameters
• target: EventTarget
• type: string
• callback?: EventListener
• options?: EventListenerOptions
Returns
void
Defined in
packages/core/src/utilities/eventListener/MultiTargetEventListenerManager.ts:58
reset()
reset():
void
Returns
void
Defined in
packages/core/src/utilities/eventListener/MultiTargetEventListenerManager.ts:77