2011-06-23 21 views
11

मैं पेज लोड होने पर हर बार कुछ करना चाहता हूं। यह ऐसा कुछ है जो मोबाइल साइट को विभिन्न उपकरणों पर दिखने के तरीके को ठीक करता है, इसलिए इसे AJAX लोड पर भी होने की आवश्यकता होती है।jQuery मोबाइल - पेज लोड पर कुछ करें

फिलहाल, मैंने पारंपरिक $(function(){ /*...*/ }); दृष्टिकोण की कोशिश की है, लेकिन यह केवल पहले लोड पर काम करता है, न कि बाद में AJAX लोड।

मैं सही घटना की तलाश कर रहा हूं लेकिन मैं बहुत मेहनत कर रहा हूं।

उत्तर

26

आप JQuery का उपयोग प्रत्येक "पेज" करने के लिए बाध्य करने के लिए कर सकते हैं (div data-role=page विशेषता के साथ सेट है) और pageshow घटना का उपयोग करें (वहाँ कुछ अन्य लोगों के रूप में अच्छी तरह कर रहे हैं: pagebeforeshow, pagehide, pagebeforehide)।

$(document).delegate('.ui-page', 'pageshow', function() { 
    //Your code for each page load here 
}); 

http://api.jquerymobile.com/pageshow/

नोट: इस सवाल का जवाब jQuery मोबाइल 1.0.1 के लिए लिखा गया था, और जानकारी के लिए ऊपर दस्तावेज़ीकरण लिंक देखें।

+0

इस कार्यक्षमता के लिए अच्छा नमूना - http://jsfiddle.net/olli/4rQRb/ – RredCat

+1

पृष्ठों को 1.4 में हटा दिया गया है और 1.5 में हटा दिया गया है। नोट: इस घटना की ट्रिगरिंग को jQuery मोबाइल 1.4.0 के रूप में बहिष्कृत किया गया है। यह अब 1.5.0 में ट्रिगर नहीं किया जाएगा। पेजशो के लिए प्रतिस्थापन पृष्ठ कंटेनर विजेट का पेजकंटर्स शो ईवेंट है। JQuery मोबाइल 1.4.0 में, दो घटनाएं उनके नाम को छोड़कर समान हैं और तथ्य यह है कि पृष्ठ कंटेनर पर पृष्ठ कंटेनर ट्रिगर किया गया है, जबकि पेज शो पेज पर ट्रिगर किया गया है। – John

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