diff options
author | Louis Cuny <louiscuny@gmail.com> | 2012-07-16 18:19:21 +0200 |
---|---|---|
committer | Louis Cuny <louiscuny@gmail.com> | 2012-07-16 18:19:21 +0200 |
commit | aca0372515de20fb977b05cc76efb222ec0b9f9e (patch) | |
tree | 17c37cc77c9d2a96c04b5353d9b1a2af43281fa2 /js/jquery.multi-select.js | |
parent | 1b04d04e97dde20e4eec447a07f41f51cbe8aa23 (diff) | |
download | multi-select-aca0372515de20fb977b05cc76efb222ec0b9f9e.zip multi-select-aca0372515de20fb977b05cc76efb222ec0b9f9e.tar.gz multi-select-aca0372515de20fb977b05cc76efb222ec0b9f9e.tar.bz2 |
focus on list instead of container (ready for searchable feature)
Diffstat (limited to 'js/jquery.multi-select.js')
-rw-r--r-- | js/jquery.multi-select.js | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/js/jquery.multi-select.js b/js/jquery.multi-select.js index 6cd2f87..74dbb80 100644 --- a/js/jquery.multi-select.js +++ b/js/jquery.multi-select.js @@ -88,30 +88,25 @@ - selectableContainer.on('focusin', function(){ - $(this).addClass('ms-focused'); - selectedContainer.focusout(); + selectableUl.on('focusin', function(){ + $(this).addClass('ms-focus'); }).on('focusout', function(){ - $(this).removeClass('ms-focused'); + $(this).removeClass('ms-focus'); $('li', container).removeClass('ms-hover'); }); - selectedContainer.on('focusin', function(){ - $(this).addClass('ms-focused'); - selectableContainer.focusout(); + selectedUl.on('focusin', function(){ + $(this).addClass('ms-focus'); }).on('focusout', function(){ - $(this).removeClass('ms-focused'); + $(this).removeClass('ms-focus'); $('li', container).removeClass('ms-hover'); }); ms.on('focusin', function(){ - ms.data('ms-focused', true); - selectableContainer.focusin(); - + selectableUl.focus(); }).on('focusout', function(){ - ms.data('ms-focused', null); - selectableContainer.focusout(); - selectedContainer.focusout(); + selectableUl.removeClass('ms-focus'); + selectedUl.removeClass('ms-focus'); }); ms.onKeyDown = function(e, keyContainer){ @@ -151,19 +146,19 @@ } $('.'+keyContainer+' ul').scrollTop(scroll); } else if (e.keyCode == 37 || e.keyCode == 39){ // Right and Left - if (selectableContainer.hasClass('ms-focused')){ - selectableContainer.focusout(); - selectedContainer.focusin(); + if (selectableUl.hasClass('ms-focus')){ + selectableUl.focusout(); + selectedUl.focusin(); } else { - selectableContainer.focusin(); - selectedContainer.focusout(); + selectableUl.focusin(); + selectedUl.focusout(); } } } ms.on('keydown', function(e){ - if (ms.data('ms-focused')){ - var keyContainer = selectableContainer.hasClass('ms-focused') ? 'ms-selectable' : 'ms-selection'; + if (ms.is(':focus')){ + var keyContainer = selectableUl.hasClass('ms-focus') ? 'ms-selectable' : 'ms-selection'; ms.onKeyDown(e, keyContainer); } }); |