Javascript 为什么要将jQuery代码嵌入$(function())?
我使用了不同的jQuery插件,在某些情况下,在我将它们嵌入Javascript 为什么要将jQuery代码嵌入$(function())?,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我使用了不同的jQuery插件,在某些情况下,在我将它们嵌入$(function({…}))之前,它们不能正常工作(或者根本不能工作) 例如,插件: $('#DateTextBox').datetimepicker(); 不起作用,即使在插件网站中,它是以完全相同的形式使用的。 将它放在$(function())中,它可以完美地工作: $(function () { $('#DateTextBox').datepicker();
$(function({…}))
之前,它们不能正常工作(或者根本不能工作)
例如,插件:
$('#DateTextBox').datetimepicker();
不起作用,即使在插件网站中,它是以完全相同的形式使用的。
将它放在$(function())中,它可以完美地工作:
$(function ()
{
$('#DateTextBox').datepicker();
});
语句“$(function())”到底带来了什么?
我试图在同一个jQuery网站上搜索,但没有找到答案
语句“$(function())”到底带来了什么
它确保在页面完成加载之前,代码不会被执行。这是英语的简写
$(document).ready(function () {
// ...
});
阅读:如果我没记错的话,
$(函数(){})
与$.ready(函数(){})
相同,因此代码只会在页面准备好时执行
查看文档了解,因为它的行为与标准的load
事件不完全相同
$(function ()
意味着
$(document).ready(function() {
它等待加载dom 这并不是因为你错误地使用了插件。您可能在文档准备就绪之前、脚本加载之前或代码顺序出现类似问题之前调用它们
$(function() {
});
相当于
$(document).ready(function() {
});
虽然document.ready
是大多数情况下的正确解决方案,但也要确保:
如果可能的话,按照YSlow的建议-加载所有脚本。现在,插件不工作的原因就清楚多了!谢谢。