[英]jquery - function not defined - calling this function from inline script
我有如下所示的代码。 从中删除了不需要的代码,只写了所需的内容。 当我从正文中的内联脚本调用我的toggleFunc时,它在控制台中显示未定义此功能。 谁能告诉我这有什么问题吗?
<head>
<script src="~/Client/js/lib/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var pageInitialize = function () {
..doing something here
function toggleFunc() {
..doing something more here
};
};
pageInitialize();
});
</script>
</head>
<body>
<script>toggleFunc()</script>
</body>
在触发DOMReady之前,不会定义您的两个函数,这将在运行body
toggleFunc
调用之后发生。 另外, toggleFunc
在pageInitialize
函数内,因此无法在pageInitialize
外部pageInitialize
。
尝试这个:
<script type="text/javascript">
var pageInitialize = function () {
//..doing something here
};
pageInitialize();
function toggleFunc() {
//..doing something more here
};
</script>
两个问题:
toggleFunc
不是全局函数。 pageInitialize
是本地的。 如果希望它是全局的,请将其分配给window
。
您正在$(document).ready
回调中定义函数,该函数将在将来的某个时间执行。 您正在$(document).ready
回调函数外部立即调用该函数。 尚未定义。
toggleFunc()
是无法从全局范围调用的闭包 。
在使用$(document).ready
之前,它甚至在被定义之前就被调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.