Javascript 未捕获引用错误:未定义MyFunction-PhoneGap
我正在使用PhoneGap和jQuery Mobile开发一个移动web应用程序。当我尝试运行在onclick属性上设置的MyFunction时,我在控制台中得到一个错误 未捕获引用错误:未定义MyFunction 这是我的代码:Javascript 未捕获引用错误:未定义MyFunction-PhoneGap,javascript,cordova,Javascript,Cordova,我正在使用PhoneGap和jQuery Mobile开发一个移动web应用程序。当我尝试运行在onclick属性上设置的MyFunction时,我在控制台中得到一个错误 未捕获引用错误:未定义MyFunction 这是我的代码: <!DOCTYPE html> <html> <head> <title>Product</title> <meta name="viewport" content="width=device-wi
<!DOCTYPE html>
<html>
<head>
<title>Product</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/index.css" />
<link rel="stylesheet" href="css/jquery.mobile-1.3.1.min.css" />
<script type="text/javascript" src="cordova-2.7.0.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.min.js"></script>
<!--Generation Script Starts here -->
<script type="text/javascript">
function makeid()
{
var text = "";
var possible = "123456789";
for( var i=0; i < 4; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
function makeid1()
{
var text1 = "";
var possible = "123456789";
for( var i=0; i < 1; i++ )
text1 += possible.charAt(Math.floor(Math.random() * possible.length));
return text1;
}
function makeid2()
{
var text2 = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for( var i=0; i < 1; i++ )
text2 += possible.charAt(Math.floor(Math.random() * possible.length));
return text2;
}
function makeid3()
{
var text3 = "";
var possible = "123456789";
for( var i=0; i < 2; i++ )
text3 += possible.charAt(Math.floor(Math.random() * possible.length));
return text3;
}
function myFunction()
{
document.getElementById("demo").innerHTML="D01E-BOA0-" + makeid() + "-" + makeid1() + makeid2() + makeid3();
}
</script>
<!-- Generation Script Ends Here -->
</head>
<body>
<div data-role="page">
<div data-role="header" data-theme="b">
<a href="index.html" data-role="button" data-icon="home" data-iconpos="notext" data-theme="b" data-iconshadow="false" data-inline="true">Home</a>
<h1>Product</h1>
</div><!-- /header -->
<div data-role="content">
<p id="demo" style="text-align:center;"></p>
<input type="button" onclick="myFunction()" value="Generate!" data-theme="b">
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
产品
函数makeid()
{
var text=“”;
var-possible=“123456789”;
对于(变量i=0;i<4;i++)
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本;
}
函数makeid1()
{
var text1=“”;
var-possible=“123456789”;
对于(变量i=0;i<1;i++)
text1+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本1;
}
函数makeid2()
{
var text2=“”;
var-mable=“abcdefghijklmnopqrstuvxyz”;
对于(变量i=0;i<1;i++)
text2+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本2;
}
函数makeid3()
{
var text3=“”;
var-possible=“123456789”;
对于(变量i=0;i<2;i++)
text3+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本3;
}
函数myFunction()
{
document.getElementById(“demo”).innerHTML=“D01E-BOA0-”+makeid()+“-”+makeid1()+makeid2()+makeid3();
}
产品
我不确定这是否有用,请将所有代码包装到文档中,然后
使用jQuery处理按钮的单击
:
<input type="button" id="generate" value="Generate!" data-theme="b">
完整代码:
$(function () {
function makeid() {
var text = "";
var possible = "123456789";
for( var i=0; i < 4; i++ ) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}
function makeid1() {
var text1 = "";
var possible = "123456789";
for( var i=0; i < 1; i++ ) {
text1 += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text1;
}
function makeid2() {
var text2 = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for( var i=0; i < 1; i++ ) {
text2 += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text2;
}
function makeid3() {
var text3 = "";
var possible = "123456789";
for( var i=0; i < 2; i++ ) {
text3 += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text3;
}
$('#generate').on('click', function () {
$("#demo").html("D01E-BOA0-" + makeid() + "-" + makeid1() + makeid2() + makeid3());
});
});
$(函数(){
函数makeid(){
var text=“”;
var-possible=“123456789”;
对于(变量i=0;i<4;i++){
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
}
返回文本;
}
函数makeid1(){
var text1=“”;
var-possible=“123456789”;
对于(变量i=0;i<1;i++){
text1+=可能的.charAt(Math.floor(Math.random()*可能的.length));
}
返回文本1;
}
函数makeid2(){
var text2=“”;
var-mable=“abcdefghijklmnopqrstuvxyz”;
对于(变量i=0;i<1;i++){
text2+=可能的.charAt(Math.floor(Math.random()*可能的.length));
}
返回文本2;
}
函数makeid3(){
var text3=“”;
var-possible=“123456789”;
对于(变量i=0;i<2;i++){
text3+=可能的.charAt(Math.floor(Math.random()*可能的.length));
}
返回文本3;
}
$('#generate')。在('click',函数(){
$(“#demo”).html(“D01E-BOA0-”+makeid()+“-”+makeid1()+makeid2()+makeid3());
});
});
选中此项在android上进行测试。这可能会解决您的问题:
function fireItUp() {
document.addEventListener("deviceready", onDeviceReady, false);
}
为什么要导入jQuery两次?在实际代码中,您声明了
myFunction
并调用了myFunction()
,但您发布的错误消息是Uncaught ReferenceError:myFunction未定义
。请注意大写字母“M”。JavaScript区分大小写。确保你没有把那些对我有用的东西混在一起,没有任何错误。检查。它在我的电脑上工作,但当我在安卓系统上执行它时,它会出错。这是错误日志@user2405869的图片。这是怎么回事?对不起:/我不明白。我需要fireItUp()和cordova的事件侦听器,但我应该如何处理步骤3我们必须把它放在Javascript中。该方法将在设备准备就绪后调用。然后它将jquerymobiles自己版本的touch事件绑定到html中的所有输入元素。这就是为什么我说,您可能希望向click元素添加一个id,然后执行:jQuery(“#myClickElement”).bind(…它仍然不起作用。我们可以在skype或其他平台上交谈吗?这样解决问题要容易得多。实际上,这个平台更多的是提供建议和帮助您学习,而不是针对特定问题提供现成的解决方案。我建议您阅读一些教程、cordova指南,然后重新开始,最终你会自己解决的,那会更有回报。
function fireItUp() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
jQuery(input).bind('tap',function(event){
myFunction();
});
}