From 6e799f6ad3ff11de433be965b8e3f98bb6e735a8 Mon Sep 17 00:00:00 2001 From: Gaston Sanchez Date: Thu, 10 Dec 2015 15:50:37 -0600 Subject: [PATCH 1/2] Fix blur handler on IE where menu ref is undefined --- src/Select.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Select.js b/src/Select.js index 7aa77322ce..1b3e9afeae 100644 --- a/src/Select.js +++ b/src/Select.js @@ -208,9 +208,12 @@ const Select = React.createClass({ }, handleInputBlur (event) { - if (document.activeElement.isEqualNode(this.refs.menu)) { - return; - } + let menuDOM = ReactDOM.findDOMNode(this.refs.menu); + + if (menuDOM && document.activeElement.isEqualNode(menuDOM)) { + return; + } + if (this.props.onBlur) { this.props.onBlur(event); } From 20cc8fcf29687c73edd016053c82e953f913a610 Mon Sep 17 00:00:00 2001 From: Gaston Sanchez Date: Mon, 14 Dec 2015 10:48:00 -0600 Subject: [PATCH 2/2] Remove redundant function call React 0.14 already returns the DOM node. --- lib/Select.js | 3 ++- src/Select.js | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/Select.js b/lib/Select.js index 4cea5bb166..7aed9141d7 100644 --- a/lib/Select.js +++ b/lib/Select.js @@ -239,9 +239,10 @@ var Select = _react2['default'].createClass({ }, handleInputBlur: function handleInputBlur(event) { - if (document.activeElement.isEqualNode(this.refs.menu)) { + if (this.refs.menu && document.activeElement.isEqualNode(this.refs.menu)) { return; } + if (this.props.onBlur) { this.props.onBlur(event); } diff --git a/src/Select.js b/src/Select.js index 1b3e9afeae..42af212d81 100644 --- a/src/Select.js +++ b/src/Select.js @@ -208,9 +208,7 @@ const Select = React.createClass({ }, handleInputBlur (event) { - let menuDOM = ReactDOM.findDOMNode(this.refs.menu); - - if (menuDOM && document.activeElement.isEqualNode(menuDOM)) { + if (this.refs.menu && document.activeElement.isEqualNode(this.refs.menu)) { return; }