Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disabling ctrl-click on jquery ui selectable

I was wondering if there is an option on the jQuery UI Selectable that will let me disable the Ctrl+Click, but still keep the draggable for the multiple selection. On my project I want to be able for people to select multiples, but only by dragging, not by Ctrl+clicking.

If there isn't, does anyone know a way I can achieve this?

Any information would be really helpful! :) Thanks!!!

like image 476
typefasterjoel Avatar asked Apr 01 '11 19:04

typefasterjoel


3 Answers

Selectable uses the metaKey flag to do multi-select, so you can bind metaKey to be false on the mousedown before calling selectable. Then Ctrl+click will always be off. Make sure to bind before calling selectable though.

$('#selectable').bind("mousedown", function (e) {
            e.metaKey = false;
 }).selectable()

jsFiddle here

like image 197
EvilAmarant7x Avatar answered Oct 17 '22 16:10

EvilAmarant7x


There is another usage of this good solution above - if you want to be able to just use your mouse click to do all the selecting/unselecting, without the need for holding the Ctrl for multiselects or for unselects - just always set the e.metaKey from EvilAmarant7x's example to true. It was exactly what I needed.

Edit: apparently someone already thought of that: Implement multiple selects with jQuery UI Selectable :)

like image 31
userfuser Avatar answered Oct 17 '22 16:10

userfuser


$("#selectable").on("selectablestart", function (event, ui) {
event.originalEvent.ctrlKey = false;
});
like image 27
BZC Avatar answered Oct 17 '22 15:10

BZC