Anulando el botón Atrás en PhoneGap Android

Estoy tratando de lograr más de un addEventListener, ¿pero algo está mal?

Por ejemplo, si tenemos 3 divs en la página y el primero se muestra en el principio y otros dos 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

Muestra div 2, oculta div 1 y establece el oyente para el botón Atrás a show_div1 (), y todo funciona bien. En la tecla de atrás presionada lo alerta."Debería mostrar # div1", como debería(// $ ('# d1'). show (); está comentado)

show_div1(){
//$('#d1').show(); $('#d2').hide(); 
alert ('I should show #div1');
}

Pero ahora viene el problema.

<div id="d2">
<a onClick="
document.removeEventListener("backbutton", show_div1, false);
document.addEventListener("backbutton", show_div2, false); 
$('#d2').hide();  
$('#d3').show(); 
"
</a>
</div>

Se dispara inmediatamente "Debería mostrar # div2"Incluso el botón Atrás no está presionado! addEventListener tiene como función principal iniciada show_div2 () y no solo establece la función de escucha en el botón Atrás para esa función.

show_div2(){
//$('#d2').show(); $('#d3').hide();
alert ('I should show #div2');
}

¿Cuál podría ser la posible razón para que esto suceda?

Respuestas a la pregunta(1)

Su respuesta a la pregunta