Jquery sélectionnable uniquement avec raccourci
-
25-09-2019 - |
Question
Je veux que l'utilisateur de sélectionner lors de la tenue de la touche Maj enfoncée.
$("#div").selectable({
start: function(st) {
$(window).keydown(function(e){
if(!e.shiftKey){
st.stopPropagation();
}
});
});
non?
La solution
Vous pouvez réduire votre code pour être beaucoup plus simple en utilisant le .shiftKey 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();
Autres conseils
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();
$(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 utiliser au lieu de fenêtre ou « corps »
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow