jQuery يمكن اختياره فقط مع اختصار
-
25-09-2019 - |
سؤال
أريد أن أترك المستخدم يختار متى يتم الاحتفاظ بمفتاح التحول.
$("#div").selectable({
start: function(st) {
$(window).keydown(function(e){
if(!e.shiftKey){
st.stopPropagation();
}
});
});
رقم؟
المحلول
يمكنك تقصير الكود الخاص بك ليكون أبسط بكثير باستخدام .shiftKey
منشأه في الحدث مباشرة (إنه موجود في mousedown
الحدث أيضًا) ، مثل هذا:
$("#div").mousedown(function(e){
if(e.shiftKey) return;
e.stopImmediatePropagation();
return false;
}).selectable();
نصائح أخرى
بالنسبة لأولئك الذين يحتاجون إليها أو شيء مشابه ، كان هذا يعمل بشكل جيد بالنسبة لي:
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
});
}
});
إذا لم يعمل ذلك ، فحاول استخدام المستند بدلاً من النافذة أو "الجسم"
لا تنتمي إلى StackOverflow