以下为html界面;
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>用户管理</title>
<link href="../../Css/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
<link href="../../Css/common.css" rel="stylesheet" />
<link href="../../Css/jqGrid/ui.jqgrid.css" rel="stylesheet" />
<script src="../../Scripts/jquery.js"></script>
<script src="../../Scripts/jquery-ui.min.js"></script>
<script src="../../Scripts/operatecookie.js"></script>
<script src="../../Scripts/jqGrid/jquery.jqGrid.js"></script>
<script src="../../Scripts/jquery.json.js"></script>
<script src="../../Scripts/jqGrid/js/i18n/grid.locale-cn.js"></script>
<script src="../../Scripts/jqGrid/js/minified/jquery.jqGrid.min.js"></script>
<script src="../../Scripts/UserControl.js"></script>//此处已经引用了脚本;
<script type="text/javascript">
$(function () {
$("#tabs").tabs().addClass("ui-tabs-vertical ui-helper-clearfix");
$("#tabs li").removeClass("ui-corner-top").addClass("ui-corner-left");
$("#tabs").tabs({
activate: function (event, ui) {
UserControl.resize($(document).width() - 150, $(document).height());
}
});
UserControl.init(); //运行到这句时提示:UserControl未定义但可以转到init()方法;
});
</script>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
min-width: 1300px;
overflow: hidden;
}
</style>
</head>
<body class="background">
<div id="tabs">
<ul>
<li><a href="#tabs-1">微信用户管理</a></li>
</ul>
<div id="tabs-1">
<div class="WXUserControl">
<table id="WXGrid"></table>
<div id="WXGridPager"></div>
</div>
</div>
</div>
</body>
</html>
以下为UserControl.js脚本;
(function(){
window.UserControl = { //定义的全局变量UserControl;但是html文件中提示未定义;
init: function () {
var a = "a";
}
};
})();
放到$(function () {}) 里面试试
那不就在那里么?
已经解决了,html里调用完全正确,问题出在js脚本里,由于js脚本代码量较大,我没有全部贴出来,问题就在没贴出来的那部分。
我总结了一下:在变量及方法转不到定义或者是提示未定义的时候,在排查调用没有出现问题的前提下,下一步就要仔细检查js脚本里的代码写的是否正确了。
就像我刚才遇到的这个问题,原因就是js中在某一行的结尾多了一个“,”(逗号)。编译器编译完全通过。
这个逗号导致我浪费了一上午的时间。
细节决定成败啊。。。