2011-04-01 13 views
8

Me preguntaba si hay una opción en el jQuery UI seleccionable que me permita deshabilitar Ctrl + clic, pero aún mantener el arrastrable para la selección múltiple. En mi proyecto, quiero que las personas puedan seleccionar múltiples, pero solo arrastrando, no por Ctrl + clic.Deshabilitar ctrl-clic en jquery ui seleccionable

Si no lo hay, ¿alguien sabe de qué manera puedo lograrlo?

¡Cualquier información sería realmente útil! :) ¡¡¡Gracias!!!

Respuesta

11

seleccionable utiliza la marca metaKey para realizar selecciones múltiples, por lo que puede vincular metaKey para que sea falso en el mousedown antes de llamar seleccionable. A continuación, Ctrl + clic siempre estará desactivado. Asegúrese de vincular antes de llamar seleccionable sin embargo.

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

jsFiddle here

+0

muchas gracias !! :) He estado buscando esto por días. jeje. – typefasterjoel

+2

Por si acaso alguien (como yo) está aquí y está tratando de implementar lo contrario (permitir selección múltiple sin ctrl) - do 'e.metaKey = true;' –

3

Hay otro uso de esta buena solución anterior - si usted quiere ser capaz de usar sólo el clic del ratón para hacer toda la selección/desmarcando, sin la necesidad de mantener la Ctrl para multiselectos o para anular la selección: simplemente siempre configure la clave e.metaKey del ejemplo de EvilAmarant7x como verdadera. Era exactamente lo que necesitaba.

Editar: al parecer alguien ya pensó en eso: Implement multiple selects with jQuery UI Selectable :)

1
$("#selectable").on("selectablestart", function (event, ui) { 
event.originalEvent.ctrlKey = false; 
}); 
Cuestiones relacionadas