2012-12-31 67 views
0

您好我的Android應用程序的PhoneGap和JQM具有以下HTML結構。從一個頁面轉移到其他頁面的jQuery Mobile事件

<body> 

<div data-role="page" id="screen"> 

</div> 

<div data-role="page" id="config" data-theme="a"> 

</div> 

</body> 

我在#screen上顯示一個時間計數器,並在#config頁面上顯示一些配置。觸摸#屏幕上的任意位置停止計數器並顯示#config屏幕。 '#config'在點擊時有一個'開始'按鈕,它再次顯示#屏幕並開始計數。

爲了解決這個問題,我使用

$('#screen').bind('vmousedown', //code to show #config page); 

$('#start_cycle').click(function(){ 
    $.mobile.changePage('#screen'); 
}); 

我的問題是,如果我在#screen觸及的地方,在那裏#start_cycle會出現,然後擡起我的拇指背面執行$(「#START_CYCLE」)。點擊功能。

看來,我的vmouseup事件正在執行開始按鈕上的單擊事件,而無需等待我再次單擊它。

我該如何預防這一點。

回答

0

我沒有試過這種解決方案,而只是由JQM是如何工作的理論,

$('#screen').bind('vmousedown', function(e){ 
    e.preventDefault(); 
    //code to change the page to counter page. 
    return false; 
}) 

的JQM說,在V之後是點擊事件與你感動的300毫秒上的相同點的延遲。這可能是您的計時器無法手動啓動計時器而開始啓動的原因。如果上述操作不起作用,請嘗試使用原生js方法附加觸摸事件。

+0

該解決方案解決了虛擬設備上的問題,但仍然存在於實際設備上。 –

相關問題