2013-02-01 22 views
10

jQuery mobile ile uygulama üzerinde çalışıyorum, userpanel'deki tüm sayfaları bir büyük dosyaya koymayı ve bir büyük .js dosyası ile çalıştırmayı deniyorum. Ne Bilmiyorum benim js bu şekilde dosya yazabilirsiniz eğer geçerli:jQuery sayfası açık/canlı sayfa, sayfa gösterimi

Userpanel yüklendiğinde başlatmak için

$(document).on('pageinit', function(){ 

}); 

ve ben koyabilirsiniz eğer belirli sayfa id tarafından çağrılır olduğundan daha

$(document).on('pageinit', function(){ 

    $("#userpanel").on('pageshow', function(){ 

    }); 

    $("#*********").on('pageshow', function(){ 

    }); 

    $("#*********").on('pageshow', function(){ 

    }); 

}); 

ve böylece: Bu: her biri için böyle ilki ve her sayfada içindeki

$("#userpanel").on('pageshow', function(){ 

}); 

Açık, bu nasıl çalışır ya da jQuery/JS temel kavramını yanlış anlamış mıyım? Varsa, iyi bir yol nedir?

cevap

3

Her şeyden önce, diğer sayfa etkinliklerinin çocukları olan page events'u kullanmayın, bunun gibi çalışmak gerekmez. Bu durumda, tüm bu pageshow olayları, ebeveynleri pageinit olmadan normal olarak tetiklenir.

Here's çalışan bir jsFiddle örneğin.

daha yaklaşık jQuery Mobile sayfa olaylar bu benim kişisel blog daha şeffaf olmaya, bu ARTICLE bakmak öğrenmek için. Veya HERE bulunabilir. sayfa olayları bildirmek için

Yani doğru yolu böyle olacağını:

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 
+1

.html dosyasının asıl yükü sadece aday olacağını komut dosyası eklemek için bir yol var mı, ama ben arasında geçiş ediyorum değilken dosya içindeki sayfalar? –

+1

Mantık aynıdır, sadece bir kimlik verin, sadece farklı bir şey, bir ilk HTML dosyasında yüklenmeli/başlatılmalıdır. – Gajotres

İlgili konular