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?