簡體   English   中英

backbutton的eventlistener在帶有多個html文件的cordova應用中不起作用

[英]eventlistener for backbutton not working in cordova app with multiple html files

我有一個適用於Android的html5 / jquery / cordova應用,並且需要控制Android后退按鈕。 該應用程序包含3個html文件,每個文件包含3個div,其中data-role ='page':

  1. index.html(#index01,#index02,#index03)
  2. cars.html(#cars01,#cars02,#cars03)
  3. ities.html(#cities01,#cities02,#cities03)

菜單在3個文件之間導航,每個頁面都有一個按鈕導航到下一頁。

為了控制Android document.addEventListener("backbutton", onBackKeyDown, false);的行為,每個文件都包含一個事件監聽器: document.addEventListener("backbutton", onBackKeyDown, false);

我的scripts.js文件包含function onBackKeyDown() {...} ,其中指定了所需的行為。 現在,我對該功能的內容沒有任何疑問。

(僅供參考:當我按下#index01我想退出該應用程序,當我按下#cars01#cities01我想導航至#index01 ,當我進入其他頁面之一時,導航到“上一個”頁面。但是:我的問題與該導航無關!)

確實遇到的問題是,僅當我使用index.html時才觸發onBackKeyDown 每當我導航到cars.html或citys.html,從那里導航到子頁面之一,然后按Android onBackKeyDown就永遠不會調用我的功能onBackKeyDown 我已經通過將alert("backbutton pressed"); 作為函數的第一行。 此警報僅顯示在index.html上,而不顯示在其他兩個文件上。

所以我對您的問題是:有人知道為什么這行不通嗎? 或者-甚至更好-任何人都可以提供解決方案嗎? 我已經掙扎了好幾個星期了。

感謝您的評論,他們為我提供了正確的方向。 由於我沒有在應用程序中使用路由,只是“基本” html頁面流,所以我意識到所有頁面周圍都沒有容器。

此外,后退按鈕事件只是cordova庫的一部分。 直到現在,我只在主頁上需要它。 但是,由於我想在所有html文檔中都具有backbutton功能, 因此解決方案是將cordova.js添加到每個html文檔中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM