我正在使用flot库来制作地块。网站上给出的示例都有这样的javascript代码:
<script>
$(function() {
...
...
... plot ...
});
</script>
http://www.flotcharts.org/flot/examples/realtime/index.html
$(function(){})位是什么意思?
答案 0 :(得分:7)
其document-ready处理程序
描述:指定在DOM完全加载时要执行的函数。
答案 1 :(得分:5)
$()
调用一个函数(一个名为$
,它在JS中是一个有效的函数名,即使它看起来不像一个或给你any clue as to what the function does)。
function() {...}
是一个函数表达式,它定义了一个新函数(与3
定义新数字或[]
新数组的方式相同)。
在这种情况下,函数表达式是$
函数调用的第一个参数。
jQuery库定义了一个$
函数(它是高度重载的,因此根据传递给它的内容,它会做很多不同的事情)。
如果将函数传递给$
,那么当DOM ready事件触发时它将调用传递的函数。
答案 2 :(得分:2)
这是文档就绪处理程序
$( document ).ready(function() {
// Handler for .ready() called.
});
这是为了防止在文档加载完成之前运行任何jQuery代码(准备就绪)。
相当于
$(function() {
// Handler for .ready() called.
});
如果在初始化DOM之后调用.ready(),则会立即执行传入的新处理程序。
以下是在文档完全加载之前运行方法时可能失败的一些操作示例:
1.想要隐藏尚未创建的元素
2.尝试获取尚未加载的图像的大小
jQuery团队为文档就绪事件创建了一个更短的方法:
$(function(){
// jQuery methods go here...
});
取决于开发人员使用哪种语法,但在阅读代码时更容易理解文档就绪事件
有关详情:See
答案 3 :(得分:-2)
所有这些都意味着相同:
$(document).ready(handler)
$().ready(handler)
(不推荐) $(handler)
通常你在处理程序的地方使用匿名函数:
$(function() {
// Do this when .ready() called.
});