From 6203e53d16be80db5661f5bd51947fec0dc083fb Mon Sep 17 00:00:00 2001 From: Cheng Lou Date: Mon, 3 Mar 2014 09:36:58 -0800 Subject: [PATCH] Fix IE8 disabled input throwing on focus When IE8 focuses a disabled item, it throws This makes sure the we're not focusing the item during selection restoration/autofocus when the element's disabled. --- src/browser/ReactInputSelection.js | 3 ++- src/browser/dom/components/AutoFocusMixin.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/browser/ReactInputSelection.js b/src/browser/ReactInputSelection.js index 8b46b670b6..5a8b4f8196 100644 --- a/src/browser/ReactInputSelection.js +++ b/src/browser/ReactInputSelection.js @@ -21,6 +21,7 @@ var ReactDOMSelection = require('ReactDOMSelection'); var containsNode = require('containsNode'); +var focusNode = require('focusNode'); var getActiveElement = require('getActiveElement'); function isInDocument(node) { @@ -71,7 +72,7 @@ var ReactInputSelection = { priorSelectionRange ); } - priorFocusedElem.focus(); + focusNode(priorFocusedElem); } }, diff --git a/src/browser/dom/components/AutoFocusMixin.js b/src/browser/dom/components/AutoFocusMixin.js index 1fa1bd3742..130768be31 100644 --- a/src/browser/dom/components/AutoFocusMixin.js +++ b/src/browser/dom/components/AutoFocusMixin.js @@ -19,10 +19,12 @@ "use strict"; +var focusNode = require('focusNode'); + var AutoFocusMixin = { componentDidMount: function() { if (this.props.autoFocus) { - this.getDOMNode().focus(); + focusNode(this.getDOMNode()); } } };