परिदृश्य इस तरह है: मैं कुछ AJAX सुविधाओं को लागू करने के लिए Jquery का उपयोग कर रहा हूं। उदाहरण के लिए: जब कोई उपयोगकर्ता "डेटा प्राप्त करें" बटन पर क्लिक करता है, तो Jquery सर्वर से कुछ डेटा लाने के लिए .ajax फ़ंक्शन को कॉल करेगा। इस प्रक्रिया में कुछ समय लग सकता है, इसलिए मैंने प्रतीक्षा प्रक्रिया के लिए कुछ एनीमेशन दिखाने के लिए .ajaxSend और .ajax पूर्ण कार्यों को जोड़ा (वास्तव में जेड-इंडेक्स के साथ एक div के अंदर एक 'लोडिंग डेटा' gif: 999 के अंदर अन्य divs के शीर्ष होने के लिए)। प्रतीक्षा प्रक्रिया ('लोडिंग डेटा') के दौरान, मैं उपयोगकर्ताओं को अन्य बटनों पर क्लिक करने से रोकना चाहता हूं (उदाहरण के लिए: मेरे पास अन्य टैब हैं, छोटे 'लोडिंग डेटा' gif के नीचे बटन)। तरह से मैं यह लक्ष्य प्राप्त कर रहा है:AJAX की प्रतिक्रिया के लिए प्रतीक्षा करते समय उपयोगकर्ताओं की बातचीत को कैसे रोकें
$("body").ajaxSend(function()
{
$(this).append('<div id="loading">Data Loading<\/div>');
$("div#error").remove();
$(this).children().not('#loading').css({'opacity':0.22});
});
$("body").ajaxComplete(function()
{
$("div#loading").remove();
$(this).children().not('#loading').css({'opacity':1});
});
हालांकि, मुझे नहीं लगता कि अस्पष्टता को बदलने का सबसे अच्छा तरीका है। जब तक आप अस्पष्टता 0 तक नहीं बनाते, तब भी उपयोगकर्ता अन्य बटन/टैब पर क्लिक कर सकते हैं। मुझे नहीं पता कि इस प्रक्रिया के दौरान किसी भी उपयोगकर्ता इंटरैक्शन से पूरी तरह से कैसे बचें? धन्यवाद!!
असल में, मैं JqueryUI का भी उपयोग कर रहा हूं। हां, मैंने अभी संवाद के मोडल विकल्प का प्रयास किया है। ब्लॉक प्रभाव को हासिल करना आसान है। हालांकि, क्या संवाद के ऊपरी दाएं कोने पर क्रॉस-ओवर (क्लोज़ बटन) को हटाने के लिए कोई रास्ता है? – WilliamLou
यह http://stackoverflow.com/questions/896777/remove-close-button-on-jqueryui-dialog –
धन्यवाद देखें। मैंने इसे अपने उत्तर के रूप में चुना क्योंकि मैंने पहले से ही JqueryUI का उपयोग किया है ताकि मुझे केवल ब्लॉकयूआई प्रभाव – WilliamLou