为什么我的Phonegap按钮没有响应

时间:2012-01-16 20:16:56

标签: javascript html5 cordova

我在我的应用程序中使用这样的phonegap,同时注意应用程序正由jquery mobile设计,

    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />

    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>

我有这个HTML,

<div id="sync" data-role="page">
    <div data-role="header" data-position="inline">
        <a data-rel="back" data-icon="back">Back</a>
        <h1>Sync</h1>
    </div>
    <div data-role="content">
        <button onclick="sync()">Sync</a></button>
    </div>  
</div>

我已经为Android编译了这个并且让它在我的Android手机上运行。

但那里称为“同步”的按钮并不总是响应。我单击按钮,每次都不会调用sync()方法。我发现自己多次点击按钮。我点击它时可以看到按钮移动,它正在通过绘图本身被推入响应,但是没有调用同步方法。

sync方法就像这样开始,

function sync()
{
    alert("syncing");
    $.mobile.loadingMessage = "syncing";
    $.mobile.showPageLoadingMsg();

我将警报用于调试目的。

更新:

有人指出我的HTML中有一个额外的标签。我已将其删除如下,但问题仍然存在,

<div data-role="content">
    <button onclick="sync()">Sync</button>
</div> 

2 个答案:

答案 0 :(得分:2)

我的申请中遇到了类似的问题。我尝试了两种不同的东西,但我不确定是不是已经修好了。

  1. 我在脚本标记中添加了charset =“utf-8”。

  2. 我将按钮单击功能移到了自己的脚本标签中。我认为其他JavaScript块中的一个错误是阻止按钮单击功能在该脚本块中运行时。因此,您可以尝试隔离按钮单击JavaScript,看看是否有帮助。

答案 1 :(得分:1)

笑话回答:你按下按钮了吗?

可能问题的答案是:

    <button onclick="sync()">Sync</a></button>
                                 ^^^^---dangling tag

</a>可能导致按钮失效吗?