2011-10-11 16 views
10

पर बाध्यकारी मैं निम्नलिखित jQuery Mobile उदाहरण को समझने की कोशिश कर रहा हूं।jQuery मोबाइल - पेजिनिट ईवेंट

$('#aboutPage').live('pageinit',function(event){ 
    alert('This page was just enhanced by jQuery Mobile!'); 
}); 

इस संदर्भ में #aboutPage क्या है? ऑब्जेक्ट pageinit क्या बाध्यकारी है?

उत्तर

13

aboutPage पृष्ठ की आईडी होना चाहिए। (I.e.div data-role="page" के साथ)। live() आपके द्वारा परिभाषित funcion को जोड़ता है जिसमें alertpageinitaboutPage की घटना में शामिल है। पृष्ठ को प्रारंभ होने पर pageinit किसी पृष्ठ पर ट्रिगर किया जाता है।

संक्षेप में

तो क्या अपने कोड करता

यह चेतावनी बयान निष्पादित करेंगे जब aboutPage

आरंभ नहीं हो जाता पेज प्रारंभ किया जा सकता है, भले ही वह view.So में पहले भी नहीं है आप उस पृष्ठ पर जाते हैं, div के pageinit को ट्रिगर किया जाएगा। अगर आप उस पृष्ठ के लिए नया पृष्ठ pageinit के रूप में एक और HTML फ़ाइल लोड कर रहे हैं तो केवल तभी ट्रिगर किया जाएगा जब आप उस पृष्ठ को लोड करते हैं। इसलिए, यदि आप चाहें तो जब आपका div देखने में आता है तो कुछ करने के लिए, आप वें कोशिश कर सकते हैं ई pagebeforeshow और pageshowpagebeforeshow एनीमेशन शुरू होने से पहले नए पृष्ठ पर ट्रिगर किया जाएगा और एनीमेशन खत्म होने के बाद pageshow होगा।

+0

यूप। यही वह अनुमान है जो मैंने अनुमान लगाया था और मैंने डेटा-रोल = "पेज" के साथ divin पर पेजिनिट इवेंट को हुक अप करने का प्रयास किया था, लेकिन किसी कारण से पहली बार जब मैं किसी पृष्ठ पर संक्रमण करता हूं तो विधि को कॉल नहीं किया जा रहा है। जब मैं ताज़ा करता हूं तो विधि को बुलाया जाता है। –

+0

इस बारे में बताने के लिए उत्तर संपादित किया गया। आशा है कि यह मदद करता है। – user700284

+3

इसे समझ लिया। 'पेजशो' घटनाओं को हुक करने के लिए प्रत्येक पृष्ठ का अपना जावास्क्रिप्ट था। हालांकि मैं $ .mobile.changePage का उपयोग कर रहा था जो केवल डेटा-भूमिका = पृष्ठ के साथ एक div लोड करता है और उस पृष्ठ पर कुछ भी नहीं (इनलाइन जावास्क्रिप्ट सहित) निष्पादित हो जाता है। यहां जवाब है जिसने मुझे मदद की http://stackoverflow.com/questions/7449402/jquery- मोबाइल- मोबाइल-changepage-not-loading-external-js-files/7449731#7449731 –

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