2010-04-10 15 views
6

मैं Asp.net mvc और jquery का उपयोग कर एक एप्लिकेशन विकसित कर रहा हूं। मैं अलग-अलग विचारों में एचटीएमएल तत्वों के लिए एक ही नामकरण सम्मेलन (कक्षाएं और आईडी) का उपयोग करना चाहता हूं।

अगर मैं आंशिक रूप से आंशिक दृश्य लोड करना चाहता हूं, तो मुख्य दृश्य में $ (दस्तावेज़) .ready() कोड का टुकड़ा इसकी उपयोगिता खो देता है क्योंकि पेट्री व्यू के एचटीएमएल टैग और सीएसएस नामकरण में से कोई भी jquery द्वारा मान्यता प्राप्त नहीं है । मैं निश्चित रूप से प्रत्येक दृश्य के लिए एक ही कोड लिखना नहीं चाहता हूं। इस मुद्दे को हल करने का सबसे अच्छा तरीका क्या है?

+0

मैं एक समाधान है कि घटनाओं के लिए काम करता है, जो ज्यादातर मामलों है, आप भी प्लगइन्स, आदि चल रहे हैं जोड़ा ... इसलिए यदि आप आप क्या गतिशील लोड सामग्री पर चलाने की जरूरत के बारे में थोड़ा और अधिक शामिल कर सकते हैं? –

उत्तर

9

उदाहरण के लिए आप इस के लिए .live() उपयोग कर सकते हैं,:

$(".myClass").click(function() { }); 

इस हो जाता है: एक अलग तरीके से

$(".myClass").live('click', function() { }); 

.live() काम करता है। .click()से मेल खाने वाले तत्वों के लिए बाध्य करता है जब यह चलाता है, आमतौर पर document.ready.live() डीओएम रूट पर रहने से काम करता है, बुलबुले के लक्ष्य को चुनने के लिए घटनाओं को सुनकर और हैंडलर को निष्पादित करते हैं।

+1

यह क्लिक के लिए काम करता है !!! विभिन्न आंशिक विचारों में तत्वों का उपयोग करने वाले प्लगइन के बारे में क्या? उदाहरण के लिए, डेटाटेबल() jquery प्लगइन उन सभी तत्वों के लिए काम करना चाहिए जिनके पास क्लास = "ग्रिड" है, इस पर ध्यान दिए बिना कि वे – xantrus

+0

से आ रहे हैं यदि मैं आपके प्रश्न को सही ढंग से समझता हूं तो कोई समस्या नहीं है। आप $ ("। ग्रिड") का उपयोग कर सकते हैं। लाइव ([eventname], function() {}) ... किसी भी आंशिक दृश्य में किसी भी घटना के लिए इसे "बाध्य" करने के लिए तैयार दस्तावेज़ में। –

+0

@ user252160 - आप इन '$ .ajax' को कैसे लोड कर रहे हैं? –

0

मैं व्यक्तिगत रूप सिर्फ $ .post चारों ओर मेरे अपने रैपर का उपयोग कर सभी सामग्री को लोड, और वहाँ initiallize सामग्री के रूप में की जरूरत है। यह भी निपटने त्रुटियों को एकजुट करने में मदद करता है,, सूचनाएं इंतजार कर आदि

तीसरे पक्ष के पुस्तकालयों आम तौर पर, बहुत ajax-लोडेड सामग्री-प्रक्रिया पूर्व के लिए एक रास्ता प्रदान करते हैं।

आंशिक विचारों document.ready फोन करेगा नहीं है, लेकिन वे सिर में स्क्रिप्ट टैग स्क्रिप्ट का मूल्यांकन करेंगे, ताकि आप कैसे आंशिक दृश्य विशिष्ट स्क्रिप्ट के आह्वान के लिए मजबूर कर सकते हैं।

मैं उपयोग करने का एक और तरीका रूपों पर कस्टम HTML टैग है। जैसे

<form custom-setup="MyCustomSetupFunc"> 

और मेरा $। पोस्ट हैंडलर इस टैग की जांच करेगा और फॉर्म फ़ंक्शन पास करने के बाद इस फ़ंक्शन को कॉल करेगा। यह आंशिक लोड होने पर स्क्रिप्ट के दायरे को कम करने में मदद करता है (उपयोगी जब आंशिक के कई उदाहरण एक ही पृष्ठ पर लोड किए जा सकते हैं)।

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