Phonegap 3.3.0 + jquery onclick无效

时间:2014-03-06 12:58:20

标签: jquery-mobile cordova

我在Windows 8平台上使用phonegap 3.3.0.0.19.6。我通过USB连接了Nexus 7来测试我的应用程序。

我有问题使用onclick调用任何javascript代码。我试图显示一个简单的警报框,但不起作用。然后我按照了phonegap教程:

http://docs.phonegap.com/en/3.0.0/cordova_notification_notification.md.html

我在以下链接中发现了类似的问题。但是,这些帖子中的解决方案并没有回答我当前的phonegap问题。

How to fix onclick in Phonegap/Android especially in lower versions of Android?

Android/ Phonegap - onClick() not working

当我尝试在chrome中触发标准警报框时,一切正常。但是,当我部署到Nexus时,没有显示任何对话框。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-   scale=1, minimum-scale=1, maximum-scale=1.5, user-scalable=1">
<title>Example Page</title>
<link rel="stylesheet" href="../www/css/themes/default/jquery.mobile-1.4.2.min.css">
<link rel="stylesheet" href="../www/css/themes/default/jqm-demos.css">
<link rel="shortcut icon" href="../www/favicon.ico">
<script src="../www/js/fontsize.js" type="text/javascript" charset="utf-8"></script>
<script src="../www/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="../www/js/jquery.mobile-1.4.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="phonegap.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
    //wait for device api libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device apis are available
    function onDeviceReady() {
       // empty
    }
    function showAlert() {
      navigator.notification.alert(
       'Message box please display....', // message
       altertDismissed,             // no callback
       'Message Box Title',         // title
       'Continue'                   // button texr
    );
    }
 </script>
</head>
<body>
<div class="txtwrapper">
<div data-role="page">
<div data-role="header">
<h1>Example Page</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
    <p><a href="#" data-inline="button" data-role="button" data-ajax="false" onclick="showAlert(); return false;">Show Alert</a></p>
</div><!-- /content -->

</div><!-- /page -->
</div><!-- /textWrapper -->
</body>
</html> 

我使用plugman安装来安装插件

  

plugman install --platform android --project example --plugin org.apache.cordova.dialogs

nexus正在运行Android 4.4.2

目前我无法使用onclick触发任何javascript代码。

使用原生警报框或标准警报消息框的解决方案将回答我的问题。

提前致谢

1 个答案:

答案 0 :(得分:3)

试试这个它会起作用

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="../www/js/fontsize.js" type="text/javascript" charset="utf-8"></script>
<script src="../www/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="../www/js/jquery.mobile-1.4.2.min.js" type="text/javascript" charset="utf-  8"></script>
<script src="phonegap.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
    //wait for device api libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device apis are available
    function onDeviceReady() {
       // empty
    }
    function showAlert() {
      navigator.notification.alert(
       'Message box please display....', // message
       altertDismissed,             // no callback
       'Message Box Title',         // title
       'Continue'                   // button texr
    );
    }
    function  altertDismissed(){
       navigator.notification.alert("alert box is dismissed");
    }
 </script>
</head>
<body>
<div class="txtwrapper">
<div data-role="page">
<div data-role="header">
<h1>Example Page</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
    <p><a href="#" data-inline="button" data-role="button" data-ajax="false" onclick="showAlert(); return false;">Show Alert</a></p>
</div><!-- /content -->

</div><!-- /page -->
</div><!-- /textWrapper -->
</body>


</html>

只需将其复制并替换即可。