【发布时间】:2013-05-21 14:15:36
【问题描述】:
我正在将 PhoneGap 和 jQuery Mobile 用于移动 Web 应用程序。当我尝试运行在 onclick 属性上设置的 MyFunction 时,我在控制台中收到一个错误,
未捕获的 ReferenceError:未定义 MyFunction。
这是我的代码:
<!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>
【问题讨论】:
-
为什么要导入两次jQuery?
-
在您的实际代码中,您声明了
myFunction并调用了myFunction(),但您发布的错误消息显示为Uncaught ReferenceError: MyFunction is not defined。注意大写的“M”。 JavaScript 区分大小写。确保你没有把它们混在一起 -
它对我有用,没有任何错误。检查FIDDLE。
-
它可以在我的电脑上运行,但是当我在 android 上执行它时会出现问题。这是错误日志的图片gyazo.com/5784e0b14b7306dc746fae530ef8c9d4
-
@user2405869 这个FIDDLE怎么样?
标签: javascript cordova