Répondre

1

Vous peut raccourcir votre code pour être beaucoup plus simple en utilisant le .shiftKey property sur l'événement directement (il est présent dans l'événement mousedown aussi), comme ceci:

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

You can test it out here.

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

    } 
}); 

si cela ne fonctionne pas essayer de document utilisé à la place de la fenêtre ou « corps »

+0

la touche de changement de vitesse est "shiftKey". Ce que je demande est de savoir comment limiter l'utilisateur à ne pouvoir sélectionner que lorsque la touche Maj est maintenue. –

+0

voir la mise à jour – Val

0

pour ceux qui en ont besoin ou quelque chose de similaire, cela a bien fonctionné pour moi:

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(); 
Questions connexes