Substituindo o botão Voltar no PhoneGap Android
Eu estou tentando realizar mais de um addEventListener, mas algo está errado?
Por exemplo, se temos 3 divs na página e um primeiro é exibido no início e outros dois ocultos.
<div id="d1">
<a onClick="
document.addEventListener("backbutton", show_div1, false);
$('#d1').hide();
$('#d2').show();
"
</a>
</div>
<div id="d2"></div> - initially hidden
<div id="d3"></div> - initially hidden
Ele mostra div 2, esconde div 1 e define ouvinte para o botão voltar para show_div1 (), e tudo funciona bem. Na chave de volta pressionou alertas"Eu deveria mostrar # div1", Como deveria(// $ ('# d1'). show (); é comentado)
show_div1(){
//$('#d1').show(); $('#d2').hide();
alert ('I should show #div1');
}
Mas agora vem o problema
<div id="d2">
<a onClick="
document.removeEventListener("backbutton", show_div1, false);
document.addEventListener("backbutton", show_div2, false);
$('#d2').hide();
$('#d3').show();
"
</a>
</div>
Ele imediatamente dispara "Eu deveria mostrar # div2"mesmo botão de volta não é pressionado! addEventListener como função principal iniciada show_div2 () e não apenas definir o ouvinte no botão voltar para essa função.
show_div2(){
//$('#d2').show(); $('#d3').hide();
alert ('I should show #div2');
}
Qual poderia ser a possível razão para isso acontecer?