@@ -104,7 +104,7 @@ $.widget("ui.selectable", $.ui.mouse, {
104104 this . selectees . filter ( '.ui-selected' ) . each ( function ( ) {
105105 var selectee = $ . data ( this , "selectable-item" ) ;
106106 selectee . startselected = true ;
107- if ( ! event . metaKey ) {
107+ if ( ! event . metaKey && ! event . ctrlKey ) {
108108 selectee . $element . removeClass ( 'ui-selected' ) ;
109109 selectee . selected = false ;
110110 selectee . $element . addClass ( 'ui-unselecting' ) ;
@@ -119,7 +119,7 @@ $.widget("ui.selectable", $.ui.mouse, {
119119 $ ( event . target ) . parents ( ) . andSelf ( ) . each ( function ( ) {
120120 var selectee = $ . data ( this , "selectable-item" ) ;
121121 if ( selectee ) {
122- var doSelect = ! event . metaKey || ! selectee . $element . hasClass ( 'ui-selected' ) ;
122+ var doSelect = ( ! event . metaKey && ! event . ctrlKey ) || ! selectee . $element . hasClass ( 'ui-selected' ) ;
123123 selectee . $element
124124 . removeClass ( doSelect ? "ui-unselecting" : "ui-selected" )
125125 . addClass ( doSelect ? "ui-selecting" : "ui-unselecting" ) ;
@@ -189,7 +189,7 @@ $.widget("ui.selectable", $.ui.mouse, {
189189 } else {
190190 // UNSELECT
191191 if ( selectee . selecting ) {
192- if ( event . metaKey && selectee . startselected ) {
192+ if ( ( event . metaKey || event . ctrlKey ) && selectee . startselected ) {
193193 selectee . $element . removeClass ( 'ui-selecting' ) ;
194194 selectee . selecting = false ;
195195 selectee . $element . addClass ( 'ui-selected' ) ;
@@ -208,7 +208,7 @@ $.widget("ui.selectable", $.ui.mouse, {
208208 }
209209 }
210210 if ( selectee . selected ) {
211- if ( ! event . metaKey && ! selectee . startselected ) {
211+ if ( ! event . metaKey && ! event . ctrlKey && ! selectee . startselected ) {
212212 selectee . $element . removeClass ( 'ui-selected' ) ;
213213 selectee . selected = false ;
214214
0 commit comments