Sunday 15 May 2011

jQuery Mobile pageinit re-binds on every page load -


इस तरह से पेजिनट इवेंट में मेरी बाइंडिंग जोड़ना:

  $ ('# mypage' ) .on ("pageinit", function () {$ ('# login-sumbit')। ('Click', function () {console.log ('button clicked');});});   

मुझे उम्मीद है कि केवल एक बार क्लिक ईवेंट को बाइंड करने के लिए पेजलाइन। लेकिन मेरे एकल पेज एप में क्या होता है कि वापस क्लिक करते समय बटन हर बार बाध्य होता है।

यह अवांछनीय कई डुप्लिकेट बाइंड्स में परिणाम है। मेरे एकल पेज एप में केवल एक बार बाँधने के लिए किस घटना का प्रयोग किया जाए, ताकि किसी भी विचार को उसी सत्र में फिर से (बैक बटन, लोडिंग इनलाइन पेज) लोड हो रहा है?

ऐसा लगता है कि मुझे जवाब मिल गया है, पृष्ठ पर लोड होने पर हर बार आग लगती है, हालांकि यह सर्वर से फिर से लोड नहीं हो रहा है, अन्यथा, जब कोई नया पृष्ठ दिखाया जाता है, तब क्या होता है।

पेजिनिट सही घटना है, लेकिन मुझे इसका उपयोग करना होगा। एक नहीं। पर, एक बार केवल एक समय से बाध्य होगा।

 < कोड> $ ('# माइपेज')। ("पेजिनिट", फ़ंक्शन () {$ ('# लॉगिन-सिंबिट')। एक ('क्लिक', फ़ंक्शन () {console.log ('बटन क्लिक'); });});   

अब सब कुछ अपेक्षित रूप से काम करता है बेहतर अभी तक मैंने पाया है कि आप उपयोग कर सकते हैं। अपनी आवश्यकताओं के लिए आपके बाइंडिंग और डेटा लोड पर अधिक नियंत्रण के लिए पेजिनट इवेंट के साथ एक।

No comments:

Post a Comment