2013-01-03 45 views
1

我的Android手機應用程序有一個問題。當我點擊一個列表項時,水龍頭似乎會繼續進入下一頁,並且與我在前一頁上按下的位置相同的位置上的項也被按下。phonegap jquerymobile列表項按新聞事件

有兩種情況發生這種情況,第一種情況是按下列表視圖項目時會打開包含子列表的頁面。而第二個按下列表項的地方打開一個表單。 請注意,如果我長時間按住某個項目,則不會發生此問題。

當應用程序在iOS上運行時,這不是問題。

有關如何防止這種情況的任何想法?

編輯:更新後 Click處理程序(但點擊後仍然遭受):

$(parentListView).on('click', 'li', function(event) { 
     event.stopPropagation(); 
     event.stopImmediatePropagation(); 
     $.mobile.changePage("#care-plans?id=" + this.id + "&" + 
       "name=" + this.name, { 
      transition : "none", 
      }); 
    }); 

回答

2

通過JQM事件下降,可以防止這樣的:

  1. 比方說,你有一個導致事件墜落的按鈕,可以這樣防止:

    $('#buttonID').on('click', function (event) { 
        event.stopPropagation(); 
        event.stopImmediatePropagation(); 
    }); 
    
  2. 類似的解決方案:

    $('#buttonID').on('click', function (event) { 
        return false; 
    }); 
    

    這個解決方案有一個問題,不同點1.將返回false也作爲的preventDefault()。有關此解決方案的更多信息,請參閱here

  3. 前2個解決方案應該適用於您的情況。最壞的情況下,不要綁定第二頁上的事件。將它們僅綁定到show事件前的第二頁page中,並在pagehide事件中再次移除它們。有關jQM事件順序的更多信息,請參見here

+0

感謝您的信息Gajotres。我試過你的解決方案,但不幸的是它仍在發生。經過一番調查後,看起來可能是一個iSroll問題。如果我從我的html中刪除data-iscroll標記,點擊消失(但我明顯失去了列表的滾動功能)。 –