2015-09-25 3 views
5

JQuery के साथ काम करना जो पहले पृष्ठ लोड और बाद में अजाक्स पोस्ट पर पंजीकृत होना चाहिए। जिस पर यह लागू हो रहा है वह नियंत्रण पैनल के अंदर है। अब मैं क्या कर रहा हूंपेज लोड पर jquery का पंजीकरण और बाद में AJAX पोस्ट

document.ready और sys.application.add.load जैसे दोनों कार्यों को उसी तरह से पंजीकृत करना ताकि यह अद्यतन पैनल के अंदर और नियंत्रण पैनल के बाहर नियंत्रण के लिए काम कर रहा हो।

$(document).ready(function() { 

    CheckMaxlength(); 

    //If Text area is placed inside update panel then apply restriction for texarea size. 

    Sys.Application.add_load(function() { 

    CheckMaxlength(); 

    }); 
}); 

मैं पता है कि नियंत्रण जो अंदर अद्यतन पैनल और बाहर अद्यतन पैनल

+0

मैं 100% निश्चित नहीं हूं कि आप क्या पूछ रहे हैं। मुझे लगता है कि मुझे मूल विचार मिलता है। यदि आप स्पष्टीकरण दे सकते हैं, तो मैं शायद आपके लिए यह बेहतर उत्तर दे सकता हूं। उदाहरण के लिए, CheckMaxLength() क्या करता है? यदि आप अपना प्रश्न अधिक विशिष्ट बनाते हैं, तो मैं अपना उत्तर और भी विशिष्ट बना सकता हूं। –

+0

चेकमैक्सलेथेंथ() टाइपिंग के दौरान दिए गए अधिकतम लम्बाई पर प्रतिबंधित करने के लिए प्रयोग किया जाता है। – Liquid

उत्तर

0

मैं सकारात्मक है कि आप क्या करना चाहते हैं नहीं कर रहा हूँ कर रहे हैं के साथ काम करने का सही तरीका है चाहता हूँ, लेकिन मुझे लगता है delegated events शायद रहे हैं आपका उत्तर।

प्रतिनिधि कार्यक्रमों का लाभ यह है कि वे बाद में दस्तावेज़ में जोड़े गए वंशजों से घटनाओं को संसाधित कर सकते हैं। प्रतिनिधि तत्व हैंडलर संलग्न होने पर उपस्थित होने की गारंटी देने वाले तत्व को चुनकर, आप ईवेंट हैंडलर को अक्सर अटैच करने और निकालने की आवश्यकता से बचने के लिए प्रतिनिधि कार्यक्रमों का उपयोग कर सकते हैं।

उदाहरण के लिए, आप कार्यक्षमता सभी पाठ क्षेत्र के लिए भले ही जब वे अपनी स्थिति के लिए

$("body").on("click", "textarea", function() { 
    alert($(this).val()); 
}); 

पहले लाभ के साथ पेज से जुड़ जाते हैं की जोड़ सकते हैं कि किसी भी पाठ क्षेत्र किसी भी अद्यतन पैनल को जोड़ा गया है बिंदु प्रतिनिधि कार्यक्षमता मिलेगा।

आगे, यदि आप अद्यतन पैनल के अंदर टेक्स्टवेयर के लिए अलग-अलग व्यवहार को लक्षित करना चाहते हैं और अद्यतन पैनल के बाहर, तो आप भी ऐसा कर सकते हैं।

$("body").on('click', 'textarea', function() { 
    alert("outside" + $(this).val()); 
}); 

$(".update-panel").on('click', 'textarea', function() { 
    alert("inside: " + $(this).val()); 

    //stop the event from propagating up to the body 
    event.stopPropagation(); 
}); 

इसके अलावा, ध्यान दें कि केवल body और upload-container तैयार होने के लिए जब इस कोड को चलाया जाता है की जरूरत है। इसे अभी तक टेक्स्टरेरा की आवश्यकता नहीं है, इसलिए आपको इसे Sys.Application.add_load के अंदर चलाने की ज़रूरत नहीं है।

संबंधित मुद्दे