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.
		
		
		
		
		
			
		
			
				
					25 lines
				
				669 B
			
		
		
			
		
	
	
					25 lines
				
				669 B
			| 
											3 years ago
										 | import ownerDocument from './ownerDocument'; | ||
|  | /** | ||
|  |  * Returns the actively focused element safely. | ||
|  |  * | ||
|  |  * @param doc the document to check | ||
|  |  */ | ||
|  | 
 | ||
|  | export default function activeElement(doc) { | ||
|  |   if (doc === void 0) { | ||
|  |     doc = ownerDocument(); | ||
|  |   } | ||
|  | 
 | ||
|  |   // Support: IE 9 only
 | ||
|  |   // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
 | ||
|  |   try { | ||
|  |     var active = doc.activeElement; // IE11 returns a seemingly empty object in some cases when accessing
 | ||
|  |     // document.activeElement from an <iframe>
 | ||
|  | 
 | ||
|  |     if (!active || !active.nodeName) return null; | ||
|  |     return active; | ||
|  |   } catch (e) { | ||
|  |     /* ie throws if no active element */ | ||
|  |     return doc.body; | ||
|  |   } | ||
|  | } |