Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rocooliveira

Jquery mobile - não carrega meu main.js depois do change page

Recommended Posts

Montei uma pagina utilizando jquery mobile com a função de todos os botãos num arquivo main.js

Divs que quando clicadas eu verifico no js e faço a ação ex:

$( "#mais-op" ).on( "tap", function() {
$.mobile.changePage( "2.html", { transition: "pop"} );
});
Tudo funciona normal até eu fazer o change page pra outra página. Quando to na outra pagina o on tap não rola
como se não tivesse carregado mais o main.js. Porém se eu der reload na pagina tudo volta a funcionar
Como resolvo isso?
Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use delegate, algo mais ou menos assim:

 

$( "body" ).on( "tap", "#mais-op",function() {

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão não é essa

Esse a pagina2 por ex ta desta forma:

$(document).delegate('#page2', 'pagecreate', function(){
 
$( "#[color=#008800]mais-op[/color]" ).on( "tap", function() {
alert('teste');
}); 
 
console.log('p2');
 
});

E só funciona se eu recarregar ela ou se iniciar direto pelo endereço dela. Se eu mudar da pagina 1 para ela o botão para de funcionar

 

A pagina 1 só tem um change page desta forma

$(document).delegate('#pageIndex', 'pagecreate', function(){
 
$( "#main-content-home .ui-grid-b:eq(0)" ).on( "tap", function() { 
$.mobile.changePage( "2.html", { transition: "pop"} ); 
}); 

$( "#main-content-home .ui-grid-b:eq(1)" ).on( "tap", function() { 
$.mobile.changePage( "3.html", { transition: "pop"} ); 
}); 

});

Na div principal de cada um como pede no jquery mobile tem um data-role="page" e o id correspondente de cada pra verificar no delegate (pageIndex e page2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas isso está errado.

 

você faz delegate do evento e não isso:

$(document).delegate('#pageIndex', 'pagecreate', function(){
isso não te ajuda.

 

Qual versão da lib jQuery vc está usando ?

Testou a minha sugestão ?

O que aparece no console de erros ? (Ctrl+Shift+J)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A versão mais atual. Baixei ontem no site
Ele funciona apenas quando não venho de outra pagina, quando venho só funciona quando dou reload

e colocando meu "botão" da forma que vc disse
$( "body" ).on( "tap", "#mais-op",function() {
da no mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A versão atual não tem o método .delegate(), foi depreciado.

 

E aparece o que no console de erros ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seletor css que vc utilizou está correto ?

Como está o teu código agora ?

Verificou o erro, apenas depois de tentar dar o "tap" ? (não vai aparecer antes do tap)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que essa é a hora de pedir desculpa por ter tomado o tempo de alguém com um erro tão primario. Mas é que eu tinha colocado varios elementos com id e para funcionar no jquery mobile, como ele monta tudo em uma pagina ele da erro se for montado com id. Passei tudo pra class e ta funcionando normalmente. Desculpe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.