Skip to content

Commit 35dd041

Browse files
committed
Selectable: Explicitly check event.ctrlKey now that jQuery differentiates between meta and ctrl. Fixes #7858 - ctrl-click to select multiple elements not working.
1 parent 24fc8d6 commit 35dd041

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

ui/jquery.ui.selectable.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)