Nadpisywanie przycisku Wstecz w PhoneGap Android

Próbuję osiągnąć więcej niż jeden addEventListener, ale coś jest nie tak?

Na przykład, jeśli mamy 3 divy na stronie, a pierwszy jest wyświetlany na początku, a dwa pozostałe ukryte.

<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

Pokazuje div 2, ukrywa div 1 i ustawia listener dla przycisku back na show_div1 (), i wszystko działa OK. Naciśnięty klawisz z tyłu informuje„Powinienem pokazać # div1”, jak powinno(// $ ('# d1'). show (); jest Comented)

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

Ale teraz pojawia się problem

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

Natychmiast odpala „Powinienem pokazać # div2”nawet przycisk Wstecz nie jest wciśnięty! addEventListener, jak uruchomiona główna funkcja show_div2 (), a nie tylko ustawić nasłuchiwanie na przycisku wstecz na tę funkcję.

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

Jaki może być możliwy powód takiego zdarzenia?

questionAnswers(1)

yourAnswerToTheQuestion