From cf95ad462e676f743a8d5ebcf1827c378f29af07 Mon Sep 17 00:00:00 2001 From: Miguel Aller Camino Date: Thu, 22 Dec 2016 12:35:17 +0100 Subject: [PATCH] fix(common,uiSelectController): issue #603 weird behavior in iOS Safari Closes #603 --- src/common.js | 1 + src/uiSelectController.js | 4 ++-- src/uiSelectSingleDirective.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/common.js b/src/common.js index ba7023424..55cde6c5c 100644 --- a/src/common.js +++ b/src/common.js @@ -89,6 +89,7 @@ if (angular.element.prototype.closest === undefined) { } var latestId = 0; +var isIos = /iphone|ipod|ipad/.test( window.navigator.userAgent.toLowerCase()); var uis = angular.module('ui.select', []) diff --git a/src/uiSelectController.js b/src/uiSelectController.js index 31df7b454..f970dfc45 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -166,7 +166,7 @@ uis.controller('uiSelectCtrl', ctrl.focusSearchInput = function (initSearchValue) { ctrl.search = initSearchValue || ctrl.search; - ctrl.searchInput[0].focus(); + if (!isIos) ctrl.searchInput[0].focus(); }; ctrl.findGroupByName = function(name) { @@ -458,7 +458,7 @@ uis.controller('uiSelectCtrl', ctrl.select(undefined); $event.stopPropagation(); $timeout(function() { - ctrl.focusser[0].focus(); + if ( !isIos) ctrl.focusser[0].focus(); }, 0, false); }; diff --git a/src/uiSelectSingleDirective.js b/src/uiSelectSingleDirective.js index 4d001dad9..d5c2463b5 100644 --- a/src/uiSelectSingleDirective.js +++ b/src/uiSelectSingleDirective.js @@ -65,7 +65,7 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp scope.$on('uis:close', function (event, skipFocusser) { $timeout(function(){ $select.focusser.prop('disabled', false); - if (!skipFocusser) $select.focusser[0].focus(); + if ( !isIos && !skipFocusser ) $select.focusser[0].focus(); },0,false); });