JS延迟和jQuery就绪事件
我在jquery脚本中添加了JS延迟和jQuery就绪事件,jquery,Jquery,我在jquery脚本中添加了deferatribute以提高网页性能,但现在我发现错误$未定义。我需要在页面加载时执行JS代码,所以我使用jQuery.ready事件,但在使用延迟时它不起作用 <head> <script defer="defer" src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script> <scr
defer
atribute以提高网页性能,但现在我发现错误$未定义
。我需要在页面加载时执行JS代码,所以我使用jQuery.ready事件,但在使用延迟时它不起作用
<head>
<script defer="defer" src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//MyLoadCode
});
</script>
</head>
$(文档).ready(函数(){
//MyLoadCode
});
如果您不想在很晚之前加载脚本,请将jquery脚本移动到html页面的底部。然后它将最后加载。延迟属性(如果存在)指定在页面完成解析后执行脚本。但是在页面完成解析之前,您正在使用jquery变量$
,此时jquery脚本没有加载,也没有初始化$
不要使用defer属性,而是将脚本标记从页眉移动到页面底部,就在
标记之前
<html>
<head></head>
<body>
...
<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//MyLoadCode
});
</script>
</body>
</html>
...
$(文档).ready(函数(){
//MyLoadCode
});
在使用$
之前,您需要确保jQuery已加载,因此不应延迟加载jQuery
如果要延迟加载jQuery,需要将使用jQuery的javascript添加到脚本onload success事件处理程序中。您不能使用$(document).ready(函数(){
和等待单元加载DOM,因为该语句本身就是一个jQuery符号,它被延迟且不可用。因此,$
变量只能在jQuery立即加载时使用