我使用了不同的jQuery插件,在某些情况下,它们无法正常工作(或根本不工作),直到我将它们嵌入到$(function({ ... }))
中。
例如插件:
$('#DateTextBox').datetimepicker();
不起作用,即使在插件网站中它完全以相同的形式使用。 将它放在$(function())里面就可以完美地运行了:
$(function ()
{
$('#DateTextBox').datepicker();
});
“$(function())”语句带来了什么? 我试图在同一个jQuery网站上搜索,但我找不到答案。
答案 0 :(得分:5)
“$(function())”语句带来了什么?
确保在页面加载完成之前,您的代码不会被执行。这是
的简写$(document).ready(function () {
// ...
});
答案 1 :(得分:4)
$(function ()
表示
$(document).ready(function() {
等待dom加载。
答案 2 :(得分:4)
并不是说你错误地使用了这些插件。您可能在文档准备好之前,或者在加载脚本之前调用它们,或者在代码顺序出现问题时调用它们。
$(function() {
});
相当于
$(document).ready(function() {
});
虽然document.ready
是适合大多数情况的正确解决方案,但也请确保:
如果可能,请遵循YSlow中的此建议 - 加载所有脚本at the end of your page。
答案 3 :(得分:2)
如果我没记错的话,$(function () {})
与$.ready(function () {})
相同,因此代码只会在页面准备好后执行。
查看ready
function的文档,因为它的行为与标准的load
事件完全不同。