JQuery wählbar nur mit Abkürzung
-
25-09-2019 - |
Frage
Ich möchte der Benutzer lassen, wählen Sie, wenn die Shift-Taste gehalten wird.
$("#div").selectable({
start: function(st) {
$(window).keydown(function(e){
if(!e.shiftKey){
st.stopPropagation();
}
});
});
oder?
Lösung
Sie können Ihren Code viel einfacher durch Verwendung der .shiftKey
Eigenschaft verkürzen unten auf der Veranstaltung direkt (auch sie ist in dem mousedown
Ereignisse), wie folgt aus:
$("#div").mousedown(function(e){
if(e.shiftKey) return;
e.stopImmediatePropagation();
return false;
}).selectable();
Sie können es hier testen.
Andere Tipps
für diejenigen, die es oder etwas ähnliches benötigen, das für mich gut funktioniert:
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
});
}
});
Wenn das nicht funktioniert try Verwendung Dokument statt Fenstern oder ‚Körper‘
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow