Answers:
$(function() { ... });
只是jQuery的简写
$(document).ready(function() { ... });
它的设计目的(除其他事项外)是确保一旦页面的所有DOM元素准备就绪即可使用您的函数。
但是,我不认为这是您遇到的问题-您能否弄清楚“以某种方式,某些函数无法调用,而我必须在内部调用这些函数”的意思吗?也许发布一些代码来显示什么无法正常工作?
编辑:重新阅读您的问题,可能是您的函数在页面加载完成之前正在运行,因此无法正确执行;将其放入$(function)确实可以解决该问题!
(function () { ... })();
。您必须添加()
才能调用您的函数。
它只是的简写$(document).ready()
,例如:$(document).ready(function() {
YOUR_CODE_HERE
});
。有时您必须使用它,因为您的函数在DOM完成加载之前就已运行。
此处介绍了所有内容:http://docs.jquery.com/Tutorials:Introducing_ $(document).ready()
我认为您可能将Javascript与jQuery方法混淆了。香草或纯Javascript类似于:
function example() {
}
这种性质的功能可以随时随地调用。
jQuery(基于Javascript的库)具有内置的函数,这些函数通常要求在调用DOM之前完全渲染它。完成此操作的语法为:
$(document).ready(function() {
});
因此,通常在该方法中调用jQuery函数,该函数通常以$
或前缀jQuery
。
$(document).ready(function() {
// Assign all list items on the page to be the color red.
// This does not work until AFTER the entire DOM is "ready", hence the $(document).ready()
$('li').css('color', 'red');
});
该块的伪代码为:
$(document)
准备好文档对象模型后.ready()
,调用以下函数function() { }
。在该函数中,检查<li>
页面上的所有内容,$('li')
然后使用jQuery方法.CSS()将CSS属性“ color”设置为值“ red”.css('color', 'red');
这是的快捷方式$(document).ready()
,当浏览器完成页面加载时(即“ DOM可用时”)执行。参见http://www.learningjquery.com/2006/09/introducing-document-ready。如果您尝试example()
在浏览器完成页面加载之前进行调用,则该页面可能无法正常工作。