2012-12-31 32 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

该解决方案解决了虚拟设备上的问题,但仍然存在于实际设备上。 –

相关问题