ब्लॉक करने में बहुत लंबा समय लगता है, मैं एक jQuery संवाद को अवरुद्ध करने के लिए jQuery BlockUI Plugin का उपयोग करने का प्रयास कर रहा हूं, जबकि यह एक सॉर्टिंग एल्गोरिदम करता है। इस तरह की कार्य इस प्रकार काम करती है:ब्लॉकयूआई को jQuery संवाद
doSort : function() {
$("#sort_dlg").block();
// sort... takes a few seconds
$("#sort_dlg").unblock();
}
यह काम करता है, तरह। सॉर्ट खत्म होने के बाद तक संवाद अवरुद्ध नहीं होता है। (इस प्रकार सभी को स्थानीय रूप से किया जाता है, कोई AJAX कॉल या कुछ भी नहीं है।) मैं इसे पहले से अवरुद्ध करने के लिए कैसे प्राप्त करूं?
मैं संवाद के ठीक बटन विधि के लिए block()
कॉल चलती की कोशिश की:
$(function() {
$("#sort_dlg").dialog({
autoOpen: false,
bgiframe: true,
modal: true,
buttons: {
"Cancel": function() { $(this).dialog("close"); },
"OK": function() {
$("#sort_dlg").block();
doSort();
}
}
});
});
लेकिन वह मदद नहीं की। (मैं कुछ अन्य तकनीक का उपयोग करके यूआई को अवरुद्ध करने के लिए सुझावों के लिए खुला हूं।)
ऐसा शायद इसलिए है क्योंकि ब्लॉकयूआई मोडल पॉपअप में फीका करने के लिए एनिमेशन का उपयोग करता है, और जब ये एनिमेशन असीमित रूप से चल रहे हैं, तो आपका सॉर्ट कोड चलाना शुरू हो जाता है। चूंकि आपका सॉर्ट कोड आपके पृष्ठ पर सिंक्रनाइज़ेशन चल रहा है, इसलिए सॉर्ट कोड समाप्त होने तक ब्राउज़र अवरुद्ध है। आपका उत्तर कॉलबैक फ़ंक्शन का उपयोग करना है, जिसे मैं अभी देख रहा हूं ... – Pandincus