* Traps top-level events by using event bubbling. * * @param {string} topLevelType Record from `BrowserEventConstants`. * @param {string} handlerBaseName Event name (e.g. "click"). * @param {object} element Element on which to attach listener. * @return {?object} An object with a remove functio
(topLevelType, handlerBaseName, element)
| 5244 | * @internal |
| 5245 | */ |
| 5246 | function trapBubbledEvent(topLevelType, handlerBaseName, element) { |
| 5247 | if (!element) { |
| 5248 | return null; |
| 5249 | } |
| 5250 | var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent; |
| 5251 | |
| 5252 | addEventBubbleListener(element, handlerBaseName, |
| 5253 | // Check if interactive and wrap in interactiveUpdates |
| 5254 | dispatch.bind(null, topLevelType)); |
| 5255 | } |
| 5256 | |
| 5257 | /** |
| 5258 | * Traps a top-level event by using event capturing. |
no test coverage detected