Pregunta

Quiero permitir al usuario seleccionar cuando se lleva a cabo la tecla de mayúsculas.

$("#div").selectable({
        start: function(st) {
            $(window).keydown(function(e){
                if(!e.shiftKey){
                    st.stopPropagation();
                }
            });
        });

no

¿Fue útil?

Solución

Se puede acortar hasta que su código sea mucho más simple mediante el uso de la propiedad .shiftKey en el evento directamente (el mismo de la presente en el evento mousedown también), así:

$("#div").mousedown(function(e){
   if(e.shiftKey) return;
   e.stopImmediatePropagation();
   return false;
}).selectable();

Puede probarlo aquí .

Otros consejos

para aquellos que lo necesitan o algo similar, esto funcionó bien para mí:

    var shift = false;

    $(window).keydown(function(e){
        if(e.shiftKey){
    shift = true;
        }
    })
    .keyup(function(e){
        if(!e.shiftKey){
            shift = false;
        }
    });

    $("#div")
    .mousedown(function(e){
       if(!shift){
         e.stopImmediatePropagation();
         return false;          
       }
    })
    .selectable();
$(window).keydown(function(e){
  if(!e.shiftKey){
     $("#div").selectable({
        start: function(st) {
        st.stopPropagation();
          //your code here
        });

     }
});

Si esto no intento documento utilización trabajo en lugar de ventana o 'cuerpo'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top