diff --git a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/EventInterface.ts b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/EventInterface.ts
index 34204cad8525c16d1a0022b0def08fbe3e671c14..63cada62f6dcf8100715e4a3cd95d6e905d963e5 100644
--- a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/EventInterface.ts
+++ b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/EventInterface.ts
@@ -11,7 +11,11 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-export type Listener = Function & EventListenerOrEventListenerObject;
+export type Listener = Function & (EventListenerWithTarget | EventListener | EventListenerObject);
+
+export interface EventListenerWithTarget {
+  (evt: Event, target?: Element): void;
+}
 
 export interface EventInterface {
   bindTo(element: EventTarget): void;
diff --git a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/RegularEvent.ts b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/RegularEvent.ts
index 4eba02c7eed9fab74666a8d6c6bd0279f353a216..7000a07407503ec43be251ae2ff9b11c8caa0ce9 100644
--- a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/RegularEvent.ts
+++ b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/RegularEvent.ts
@@ -33,7 +33,7 @@ class RegularEvent implements EventInterface {
     element.addEventListener(this.eventName, (e: Event): void => {
       for (let targetElement: Node = <Element>e.target; targetElement && targetElement !== this.boundElement; targetElement = targetElement.parentNode) {
         if ((<HTMLElement>targetElement).matches(selector)) {
-          this.callback.call(targetElement, e);
+          this.callback.call(targetElement, e, targetElement);
           break;
         }
       }
diff --git a/typo3/sysext/core/Resources/Public/JavaScript/Event/RegularEvent.js b/typo3/sysext/core/Resources/Public/JavaScript/Event/RegularEvent.js
index 1af7ed3457ed7b92abf296ced78a0f889ffe9fb7..4020843ddc5fb94c2d11002c9beb9872f1ce250b 100644
--- a/typo3/sysext/core/Resources/Public/JavaScript/Event/RegularEvent.js
+++ b/typo3/sysext/core/Resources/Public/JavaScript/Event/RegularEvent.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports"],(function(e,t){"use strict";return class{constructor(e,t){this.eventName=e,this.callback=t}bindTo(e){this.boundElement=e,e.addEventListener(this.eventName,this.callback)}delegateTo(e,t){this.boundElement=e,e.addEventListener(this.eventName,e=>{for(let n=e.target;n&&n!==this.boundElement;n=n.parentNode)if(n.matches(t)){this.callback.call(n,e);break}},!1)}release(){this.boundElement.removeEventListener(this.eventName,this.callback)}}}));
\ No newline at end of file
+define(["require","exports"],(function(e,t){"use strict";return class{constructor(e,t){this.eventName=e,this.callback=t}bindTo(e){this.boundElement=e,e.addEventListener(this.eventName,this.callback)}delegateTo(e,t){this.boundElement=e,e.addEventListener(this.eventName,e=>{for(let n=e.target;n&&n!==this.boundElement;n=n.parentNode)if(n.matches(t)){this.callback.call(n,e,n);break}},!1)}release(){this.boundElement.removeEventListener(this.eventName,this.callback)}}}));
\ No newline at end of file