* Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node.
(nativeEvent)
| 3688 | * @return {DOMEventTarget} Target node. |
| 3689 | */ |
| 3690 | function getEventTarget(nativeEvent) { |
| 3691 | var target = nativeEvent.target || window; |
| 3692 | |
| 3693 | // Normalize SVG <use> element events #4963 |
| 3694 | if (target.correspondingUseElement) { |
| 3695 | target = target.correspondingUseElement; |
| 3696 | } |
| 3697 | |
| 3698 | // Safari may fire events on text nodes (Node.TEXT_NODE is 3). |
| 3699 | // @see http://www.quirksmode.org/js/events_properties.html |
| 3700 | return target.nodeType === TEXT_NODE ? target.parentNode : target; |
| 3701 | } |
| 3702 | |
| 3703 | /** |
| 3704 | * Checks if an event is supported in the current execution environment. |
no outgoing calls
no test coverage detected