Skip to content

Commit ffd3f51

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.
(cherry picked from commit 35dd041)
1 parent 63bd71f commit ffd3f51

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
@@ -103,7 +103,7 @@ $.widget("ui.selectable", $.ui.mouse, {
103103
this.selectees.filter('.ui-selected').each(function() {
104104
var selectee = $.data(this, "selectable-item");
105105
selectee.startselected = true;
106-
if (!event.metaKey) {
106+
if (!event.metaKey && !event.ctrlKey) {
107107
selectee.$element.removeClass('ui-selected');
108108
selectee.selected = false;
109109
selectee.$element.addClass('ui-unselecting');
@@ -118,7 +118,7 @@ $.widget("ui.selectable", $.ui.mouse, {
118118
$(event.target).parents().andSelf().each(function() {
119119
var selectee = $.data(this, "selectable-item");
120120
if (selectee) {
121-
var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
121+
var doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
122122
selectee.$element
123123
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
124124
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
@@ -188,7 +188,7 @@ $.widget("ui.selectable", $.ui.mouse, {
188188
} else {
189189
// UNSELECT
190190
if (selectee.selecting) {
191-
if (event.metaKey && selectee.startselected) {
191+
if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
192192
selectee.$element.removeClass('ui-selecting');
193193
selectee.selecting = false;
194194
selectee.$element.addClass('ui-selected');
@@ -207,7 +207,7 @@ $.widget("ui.selectable", $.ui.mouse, {
207207
}
208208
}
209209
if (selectee.selected) {
210-
if (!event.metaKey && !selectee.startselected) {
210+
if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
211211
selectee.$element.removeClass('ui-selected');
212212
selectee.selected = false;
213213

0 commit comments

Comments
 (0)