selezionabile Jquery solo con il collegamento
-
25-09-2019 - |
Domanda
Voglio consentire all'utente di selezionare quando si tiene il tasto shift.
$("#div").selectable({
start: function(st) {
$(window).keydown(function(e){
if(!e.shiftKey){
st.stopPropagation();
}
});
});
no?
Soluzione
È possibile abbreviare il vostro codice per essere molto più semplice utilizzando il .shiftKey
proprietà sull'evento direttamente (è presente nel caso mousedown
troppo), in questo modo:
$("#div").mousedown(function(e){
if(e.shiftKey) return;
e.stopImmediatePropagation();
return false;
}).selectable();
Altri suggerimenti
per chi ne ha bisogno o qualcosa di simile, questo ha funzionato bene per me:
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
});
}
});
Se questo non funziona documento uso prova al posto di finestra o 'corpo'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow