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