diff options
Diffstat (limited to 'docs/src/templates/js/docs.js')
| -rw-r--r-- | docs/src/templates/js/docs.js | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/docs/src/templates/js/docs.js b/docs/src/templates/js/docs.js index 15041774..587e1565 100644 --- a/docs/src/templates/js/docs.js +++ b/docs/src/templates/js/docs.js @@ -145,11 +145,19 @@ docsApp.directive.docsSearchInput = ['$document',function($document) {      var ESCAPE_KEY_KEYCODE = 27,          FORWARD_SLASH_KEYCODE = 191;      angular.element($document[0].body).bind('keydown', function(event) { -      var input = element[0]; -      if(event.keyCode == FORWARD_SLASH_KEYCODE && document.activeElement != input) { -        event.stopPropagation(); -        event.preventDefault(); -        input.focus(); +      if(event.keyCode == FORWARD_SLASH_KEYCODE && document.activeElement) { +        var activeElement = document.activeElement; +        var activeTagName = activeElement.nodeName.toLowerCase(); +        var hasInputFocus = activeTagName == 'input'  || activeTagName == 'select' || +                            activeTagName == 'option' || activeTagName == 'textarea' || +                            activeElement.hasAttribute('contenteditable'); +        if(!hasInputFocus) { +          event.stopPropagation(); +          event.preventDefault(); + +          var input = element[0]; +          input.focus(); +        }        }      }); | 
