11/**
22 * --------------------------------------------------------------------------
33 * Bootstrap (v5.0.0-alpha1): dom/event-handler.js
4- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master /LICENSE)
4+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main /LICENSE)
55 * --------------------------------------------------------------------------
66 */
77
@@ -94,6 +94,8 @@ function getEvent(element) {
9494
9595function bootstrapHandler ( element , fn ) {
9696 return function handler ( event ) {
97+ event . delegateTarget = element
98+
9799 if ( handler . oneOff ) {
98100 EventHandler . off ( element , event . type , fn )
99101 }
@@ -109,6 +111,8 @@ function bootstrapDelegationHandler(element, selector, fn) {
109111 for ( let { target } = event ; target && target !== this ; target = target . parentNode ) {
110112 for ( let i = domElements . length ; i -- ; ) {
111113 if ( domElements [ i ] === target ) {
114+ event . delegateTarget = target
115+
112116 if ( handler . oneOff ) {
113117 EventHandler . off ( element , event . type , fn )
114118 }
@@ -207,14 +211,13 @@ function removeHandler(element, events, typeEvent, handler, delegationSelector)
207211function removeNamespacedHandlers ( element , events , typeEvent , namespace ) {
208212 const storeElementEvent = events [ typeEvent ] || { }
209213
210- Object . keys ( storeElementEvent )
211- . forEach ( handlerKey => {
212- if ( handlerKey . indexOf ( namespace ) > - 1 ) {
213- const event = storeElementEvent [ handlerKey ]
214+ Object . keys ( storeElementEvent ) . forEach ( handlerKey => {
215+ if ( handlerKey . indexOf ( namespace ) > - 1 ) {
216+ const event = storeElementEvent [ handlerKey ]
214217
215- removeHandler ( element , events , typeEvent , event . originalHandler , event . delegationSelector )
216- }
217- } )
218+ removeHandler ( element , events , typeEvent , event . originalHandler , event . delegationSelector )
219+ }
220+ } )
218221}
219222
220223const EventHandler = {
@@ -247,23 +250,21 @@ const EventHandler = {
247250 }
248251
249252 if ( isNamespace ) {
250- Object . keys ( events )
251- . forEach ( elementEvent => {
252- removeNamespacedHandlers ( element , events , elementEvent , originalTypeEvent . slice ( 1 ) )
253- } )
253+ Object . keys ( events ) . forEach ( elementEvent => {
254+ removeNamespacedHandlers ( element , events , elementEvent , originalTypeEvent . slice ( 1 ) )
255+ } )
254256 }
255257
256258 const storeElementEvent = events [ typeEvent ] || { }
257- Object . keys ( storeElementEvent )
258- . forEach ( keyHandlers => {
259- const handlerKey = keyHandlers . replace ( stripUidRegex , '' )
259+ Object . keys ( storeElementEvent ) . forEach ( keyHandlers => {
260+ const handlerKey = keyHandlers . replace ( stripUidRegex , '' )
260261
261- if ( ! inNamespace || originalTypeEvent . indexOf ( handlerKey ) > - 1 ) {
262- const event = storeElementEvent [ keyHandlers ]
262+ if ( ! inNamespace || originalTypeEvent . indexOf ( handlerKey ) > - 1 ) {
263+ const event = storeElementEvent [ keyHandlers ]
263264
264- removeHandler ( element , events , typeEvent , event . originalHandler , event . delegationSelector )
265- }
266- } )
265+ removeHandler ( element , events , typeEvent , event . originalHandler , event . delegationSelector )
266+ }
267+ } )
267268 } ,
268269
269270 trigger ( element , event , args ) {
@@ -300,16 +301,15 @@ const EventHandler = {
300301 } )
301302 }
302303
303- // merge custom informations in our event
304+ // merge custom information in our event
304305 if ( typeof args !== 'undefined' ) {
305- Object . keys ( args )
306- . forEach ( key => {
307- Object . defineProperty ( evt , key , {
308- get ( ) {
309- return args [ key ]
310- }
311- } )
306+ Object . keys ( args ) . forEach ( key => {
307+ Object . defineProperty ( evt , key , {
308+ get ( ) {
309+ return args [ key ]
310+ }
312311 } )
312+ } )
313313 }
314314
315315 if ( defaultPrevented ) {
0 commit comments