Browse Source

Remove input blur on selection, breaks tabbing in webkit based browsers #1253

pull/1257/head
jlukic 10 years ago
parent
commit
af1ba235ed
2 changed files with 8 additions and 6 deletions
  1. 12
      src/definitions/modules/dropdown.js
  2. 2
      src/definitions/modules/dropdown.less

12
src/definitions/modules/dropdown.js

@ -390,6 +390,12 @@ $.fn.dropdown = function(parameters) {
; ;
}, },
focusSearch: function() {
$search
.focus()
;
},
event: { event: {
// prevents focus callback from occuring on mousedown // prevents focus callback from occuring on mousedown
mousedown: function() { mousedown: function() {
@ -451,17 +457,12 @@ $.fn.dropdown = function(parameters) {
// close shortcuts // close shortcuts
if(pressedKey == keys.escape) { if(pressedKey == keys.escape) {
module.verbose('Escape key pressed, closing dropdown'); module.verbose('Escape key pressed, closing dropdown');
$search.blur();
module.hide(); module.hide();
} }
// result shortcuts // result shortcuts
if(module.is.visible()) { if(module.is.visible()) {
if(pressedKey == keys.enter && hasSelectedItem) { if(pressedKey == keys.enter && hasSelectedItem) {
module.verbose('Enter key pressed, choosing selected item'); module.verbose('Enter key pressed, choosing selected item');
if(module.is.searchable()) {
module.verbose('Removing focus from search input');
$search.blur();
}
$.proxy(module.event.item.click, $selectedItem)(event); $.proxy(module.event.item.click, $selectedItem)(event);
event.preventDefault(); event.preventDefault();
return false; return false;
@ -1071,6 +1072,7 @@ $.fn.dropdown = function(parameters) {
if( module.can.click() ) { if( module.can.click() ) {
module.unbind.intent(); module.unbind.intent();
} }
module.focusSearch();
module.hideSubMenus(); module.hideSubMenus();
module.remove.active(); module.remove.active();
} }

2
src/definitions/modules/dropdown.less

@ -498,7 +498,7 @@ select.ui.dropdown {
.ui.search.dropdown.visible > input.search { .ui.search.dropdown.visible > input.search {
cursor: auto; cursor: auto;
} }
.ui.search.dropdown > input.search:focus + .text {
.ui.active.search.dropdown > input.search:focus + .text {
color: @unselectedTextColor !important; color: @unselectedTextColor !important;
} }

Loading…
Cancel
Save