函数未在phonegap中的file://android_asset/www/index.html中定义

时间:2013-03-29 07:57:39

标签: javascript jquery html5 cordova jquery-mobile

我在Phonegap上遇到这个典型错误 我在按钮onclick事件上调用了一个函数,但我没有在phonegap中的file://android_asset/www/index.html中定义(function_name)。然后,我在其他页面上编写代码temp,它开始工作。经过一段时间再次出现同样的错误。 我无法弄清楚出了什么问题。 我正在使用phonegap - Android(在eclipse上) 任何帮助将不胜感激。

  <button onclick="clickIt();" data-theme="b">Login</button>

   <script type="text/javascript">

        function clickIt() {
           //code here

        }
   </script>

3 个答案:

答案 0 :(得分:1)

我也遇到了这个问题。不幸的是,Android模拟器真的很慢 因此加载文件时会发生超时,因为它会对速度做出反应。

在调用super.loadUrl之前,在自定义Activity文件中添加 以下一行:

super.setIntegerProperty("loadUrlTimeoutValue", 60000);

这会增加加载网页的超时时间 - 这就固定了 在模拟器上问我。

答案 1 :(得分:0)

确保仅在启动js文件后调用该函数。您可以通过在$(document).on函数内调用它来确保它。首先将按钮的ID更改为login,然后执行以下操作。

如下所示

$(document).on('pagecreate', function(){
    $('#login').bind('click',function(){
        alert('test');
    });
});

如果您的网页ID等于“mypage”,请将其更改为以下内容

$(document).on('pagecreate',  '#mypage', function(){
    $('#login').bind('click',function(){
        alert('test');
    });
});

http://jsfiddle.net/mayooresan/9pNRn/

查看现场小提琴

答案 2 :(得分:0)

我弄明白了这个问题。实际上我在我的文件中的某个函数有一个错误,因此没有java脚本调用正在运行。这是一个未找到的错误,导致其他代码失败。