You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
931 B
29 lines
931 B
/** |
|
* Copyright 2013-2015, Facebook, Inc. |
|
* All rights reserved. |
|
* |
|
* This source code is licensed under the BSD-style license found in the |
|
* LICENSE file in the root directory of this source tree. An additional grant |
|
* of patent rights can be found in the PATENTS file in the same directory. |
|
* |
|
* @providesModule getEventTarget |
|
* @typechecks static-only |
|
*/ |
|
|
|
'use strict'; |
|
|
|
/** |
|
* 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. |
|
*/ |
|
function getEventTarget(nativeEvent) { |
|
var target = nativeEvent.target || nativeEvent.srcElement || window; |
|
// Safari may fire events on text nodes (Node.TEXT_NODE is 3). |
|
// @see http://www.quirksmode.org/js/events_properties.html |
|
return target.nodeType === 3 ? target.parentNode : target; |
|
} |
|
|
|
module.exports = getEventTarget;
|
|
|