写在 $(function(){}) 中的函数无法被外界调用原因及解决方式
解释:
$(function(){})
是jQuery的简写,全写是$(document).ready(function(){})
。这段代码的作用是在DOM完全加载并可以操作后执行其中的函数。由于这是一个内部的函数,它不应该被外部直接调用。试图从外部调用写在$(function(){})
中的函数会导致错误,因为这些函数是为了内部使用而定义的,它们的作用域限制在ready事件的回调函数中。
解决方案:
- 如果需要在其他地方使用这个函数,可以将函数定义在
$(function(){})
外部,确保在DOM加载后再执行它。 - 如果函数需要在DOM加载后执行,可以将函数声明在
$(function(){})
外部,然后在$(function(){})
内部调用。 - 如果需要在外部触发这个函数,可以将函数声明在
$(function(){})
外部,并且不要在$(function(){})
内部调用它。
示例代码:
// 方案1:
$(function() {
var myFunction = function() {
// 你的代码
};
myFunction(); // 在DOM加载后执行
});
// 方案2:
var myFunction = function() {
// 你的代码
};
$(function() {
myFunction(); // 在DOM加载后执行
});
// 方案3:
var myFunction = function() {
// 你的代码
};
// 在其他地方调用
$(document).ready(function() {
myFunction(); // 确保DOM加载完毕
});
评论已关闭