aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.selectable.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/jquery.ui.selectable.js')
-rw-r--r--ui/jquery.ui.selectable.js9
1 files changed, 5 insertions, 4 deletions
diff --git a/ui/jquery.ui.selectable.js b/ui/jquery.ui.selectable.js
index 75f1cee66..408771eff 100644
--- a/ui/jquery.ui.selectable.js
+++ b/ui/jquery.ui.selectable.js
@@ -34,6 +34,7 @@ $.widget("ui.selectable", $.ui.mouse, {
var selectees;
this.refresh = function() {
selectees = $(self.options.filter, self.element[0]);
+ selectees.addClass("ui-selectee");
selectees.each(function() {
var $this = $(this);
var pos = $this.offset();
@@ -103,7 +104,7 @@ $.widget("ui.selectable", $.ui.mouse, {
this.selectees.filter('.ui-selected').each(function() {
var selectee = $.data(this, "selectable-item");
selectee.startselected = true;
- if (!event.metaKey) {
+ if (!event.metaKey && !event.ctrlKey) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
@@ -118,7 +119,7 @@ $.widget("ui.selectable", $.ui.mouse, {
$(event.target).parents().andSelf().each(function() {
var selectee = $.data(this, "selectable-item");
if (selectee) {
- var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
+ var doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
selectee.$element
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
@@ -188,7 +189,7 @@ $.widget("ui.selectable", $.ui.mouse, {
} else {
// UNSELECT
if (selectee.selecting) {
- if (event.metaKey && selectee.startselected) {
+ if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
selectee.$element.addClass('ui-selected');
@@ -207,7 +208,7 @@ $.widget("ui.selectable", $.ui.mouse, {
}
}
if (selectee.selected) {
- if (!event.metaKey && !selectee.startselected) {
+ if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;