@@ -104,7 +104,7 @@ $.widget("ui.selectable", $.ui.mouse, {
104
104
this . selectees . filter ( '.ui-selected' ) . each ( function ( ) {
105
105
var selectee = $ . data ( this , "selectable-item" ) ;
106
106
selectee . startselected = true ;
107
- if ( ! event . metaKey ) {
107
+ if ( ! event . metaKey && ! event . ctrlKey ) {
108
108
selectee . $element . removeClass ( 'ui-selected' ) ;
109
109
selectee . selected = false ;
110
110
selectee . $element . addClass ( 'ui-unselecting' ) ;
@@ -119,7 +119,7 @@ $.widget("ui.selectable", $.ui.mouse, {
119
119
$ ( event . target ) . parents ( ) . andSelf ( ) . each ( function ( ) {
120
120
var selectee = $ . data ( this , "selectable-item" ) ;
121
121
if ( selectee ) {
122
- var doSelect = ! event . metaKey || ! selectee . $element . hasClass ( 'ui-selected' ) ;
122
+ var doSelect = ( ! event . metaKey && ! event . ctrlKey ) || ! selectee . $element . hasClass ( 'ui-selected' ) ;
123
123
selectee . $element
124
124
. removeClass ( doSelect ? "ui-unselecting" : "ui-selected" )
125
125
. addClass ( doSelect ? "ui-selecting" : "ui-unselecting" ) ;
@@ -189,7 +189,7 @@ $.widget("ui.selectable", $.ui.mouse, {
189
189
} else {
190
190
// UNSELECT
191
191
if ( selectee . selecting ) {
192
- if ( event . metaKey && selectee . startselected ) {
192
+ if ( ( event . metaKey || event . ctrlKey ) && selectee . startselected ) {
193
193
selectee . $element . removeClass ( 'ui-selecting' ) ;
194
194
selectee . selecting = false ;
195
195
selectee . $element . addClass ( 'ui-selected' ) ;
@@ -208,7 +208,7 @@ $.widget("ui.selectable", $.ui.mouse, {
208
208
}
209
209
}
210
210
if ( selectee . selected ) {
211
- if ( ! event . metaKey && ! selectee . startselected ) {
211
+ if ( ! event . metaKey && ! event . ctrlKey && ! selectee . startselected ) {
212
212
selectee . $element . removeClass ( 'ui-selected' ) ;
213
213
selectee . selected = false ;
214
214
0 commit comments