Phonegap:无法使用简单的警报框

时间:2014-03-27 07:36:23

标签: cordova

我正在尝试使用Phonegap做一个简单的警报框,这真的很难。在我看了很多教程后,我无法让它工作,模拟器和设备内测试也无法正常工作。

所以我绘制了3个div,每个div都是一个颜色不同的盒子。然后,当我点击它时,我试着用一个简单的警告框,用不同的代码。当Eclipse将Apk加载到我的手机中时,它不会构建当前的工作版本,有时也会构建。当它发生时,我可以尝试应用程序,然后意识到没有任何点击事件有效。

这是我的代码:

的index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <title>Testing</title>
    </head>
    <body onload="DOMloaded()">
        <div id="box" onclick="funcClick()"></div>

        <div id="box2"></div>

        <div id="box3"></div>



        <script type="text/javascript" src="cordova.js"></script>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>

index.css

#box {
    width: 300px;
    height: 300px;
    background-color: yellow;
}
#box2 {
    width: 300px;
    height: 300px;
    background-color: red;  
}

#box3 {
    width: 300px;
    height: 300px;
    background-color: blue;
    display: inline-block;  
}

index.js

function DOMloaded() {
    document.addEventListener("deviceready", phonegapLoaded, false);
}

function phonegapLoaded() {
    function funcClick() {
        alert("Yellow box onclick event");
    };
    $("#box2").click(function() {
        alert("Red box jQuery click event");
    });
    $("#box3").on('touchstart', function() {
        alert("Blue box jQuery and Phonegap touch event");
    });
    alert("Events loaded");
}

唯一有效的是alert("Events loaded").

请帮帮我。

1 个答案:

答案 0 :(得分:0)

您在本地范围内定义了“funcClick”(在“phonegapLoaded”函数的范围内),因此它不适用于div click。我无法给出好的解释(也许有人会在评论中解释)为什么box2和box3没有任何反应,但我有工作解决方案:

function funcClick () {
    alert("Yellow box onclick event");
};

function phonegapLoaded () {
    $(document).on("click", "#box2", function(){
        alert("Red box jQuery click event");
    });

    $(document).on('touchstart', "#box3", function (){
        alert("Blue box jQuery and Phonegap touch event");
    });
    alert("Events loaded");
}