Javascript文件document.ready()的优先级
Javascript Files Priority on document.ready()
当我们为内联脚本函数使用文档就绪时,按需要的顺序调用JavaScript文件是否重要?
例如,假设我想在jQueryWaypoints下调用jQuery的counter-up插件。需要在文档的头中分别加载jQuery、Waypoints和count-up脚本,并在内联脚本中调用counterup()
,如下所示:
<script>
$('.counter').counterUp({
delay: 10,
time: 1000
});
</script>
如果我在$(document).ready
下调用该函数并将脚本导入语句移动到<body>
的底部,会发生什么?
是否需要分别调用正文底部所需的文件?(例如,在所有其他库的末尾导入jquery.min.js。)
$
如果之前未定义jQuery(即,如果在评估$
之前未导入jQuery.min.js),则会引发引用错误。
因此,您必须首先在带有自定义代码的<script>
之前添加带有jquery的<script>
标记,顺便说一句,该标记应该在一个单独的文件中。
然后,由于<script>
可以修改DOM,所以在下载、评估和执行所有JS文件之前,即使将它们放在<html>
标记之外,也不会触发"DOM就绪"事件。
也就是说,如果(并且只有当)你的带有插件的代码都在"domready"回调中,你可以在自定义代码之后添加带有插件的脚本标记,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>JS Bin</title>
<meta charset="utf-8">
<link rel="stylesheet" href="//cdn.jsdelivr.net/jquery.tooltipster/2.1.4/css/tooltipster.css">
</head>
<body>
<div id="test" title="Beautiful tooltip plugin!">Hello world!</div>
</body>
</html>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
jQuery(function($) {
$("#test").tooltipster();
console.log('Test OK');
});
</script>
<script src="//cdn.jsdelivr.net/jquery.tooltipster/2.1.4/js/jquery.tooltipster.min.js"></script>
请参阅jsbin
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- jQuery document.ready not working
- jQuery加载的async和ready函数不工作
- JavaScript 中三元条件和逻辑和运算符的运算符优先级
- 如何通过documents.ready函数中的javascript自动按键(ctrl+shift+i)
- jQuery document.ready停止代码
- 停止对document.ready函数的重定向/刷新
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- 正则表达式匹配模式或匹配其他所有内容 - 匹配优先级问题
- ready函数在每个页面中触发
- 函数从$(document).ready外部调用在$(document).ready中定义的函数
- 确定window.load函数的优先级
- 如果没有document.ready(),我怎么能拥有多个javascript函数呢
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- 重载像$(document).ready这样的函数是错误的
- 我的指令在ngRepeat和ngInclude之前执行,尽管默认优先级为0
- 延迟加载jquery后替换$(document).ready(function)
- $(document).ready未在brunch/jade/主干网项目中调用
- 为什么不'加载$(document.ready(function)后,单击“工作”
- Javascript文件document.ready()的优先级