I want to be able to change the parameters that are being passed into the selectable’s start event, so I can basically allow my user to use the selectable jQuery UI effect without having to hold down the CTRL key.
JS
$(function() {
$( "#selectable" ).bind("mousedown", function(event, ui) {
var result = $( "#select-result" ).empty();
event.metaKey = event.ctrlKey = true;
});
$( "#selectable" ).selectable();
});
I have a fiddle with what I’m trying to accomplish here:
http://jsfiddle.net/josephbulger/ZfevM/
The problem I’m having, is that when i set the event’s parameters in the start method, the stop method is not seeing the changes I’m making.
Is there a way to accomplish what I’m trying to do?
You can’t set the properties here no…because it’s a different
eventobject in thestopmethod. You can set some variables at a higher scope (like this), but none that will persist on theeventobject. It’s not that it’s “clearing” them really, it’s just a brand spanking new object.To make the selectable behave as if Ctrl is held down, bind to the
mousedownevent it uses ahead of time and set the.metaKeyproperty on thateventtotrue, like this:You can test it out here, remember to find before calling
.selectable(), since event handlers are executed in the order bound.