Переопределение кнопки «Назад» в Android PhoneGap

Я пытаюсь выполнить более одного addEventListener, но что-то не так?

Например, если у нас есть 3 элемента на странице, и первый отображается в начале, а два других скрыты.

<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

Он показывает div 2, скрывает div 1 и устанавливает для слушателя кнопки возврата значение show_div1 (), и все работает нормально. На спине нажата кнопка оповещения"I should show #div1", как это должно(//$('#d1').show(); is comented)

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

But now comes the problem

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

Это немедленно запускает "Я должен показать # div2"even back button is not pressed! addEventListener, как и запущенная основная функция show_div2 (), а не просто устанавливает слушателя на кнопке назад на эту функцию.

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

What could be the possible reason for this happening?

Ответы на вопрос(1)

Ваш ответ на вопрос