* Traps a top-level event by using event capturing. * * @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 funct
(topLevelType, handlerBaseName, element)
| 5265 | * @internal |
| 5266 | */ |
| 5267 | function trapCapturedEvent(topLevelType, handlerBaseName, element) { |
| 5268 | if (!element) { |
| 5269 | return null; |
| 5270 | } |
| 5271 | var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent; |
| 5272 | |
| 5273 | addEventCaptureListener(element, handlerBaseName, |
| 5274 | // Check if interactive and wrap in interactiveUpdates |
| 5275 | dispatch.bind(null, topLevelType)); |
| 5276 | } |
| 5277 | |
| 5278 | function dispatchInteractiveEvent(topLevelType, nativeEvent) { |
| 5279 | interactiveUpdates(dispatchEvent, topLevelType, nativeEvent); |
no test coverage detected