![](/img/trans.png)
[英]replacement for $(document).ready(function() after defer loading jquery
[英]Using defer to implement jQuery-ready-like function in the same HTML
我想删除我的 jQuery 并且我需要替换$(function() {... });
与类似的东西。 我见过有人使用新的 HTML 属性defer
但他们用它来调用另一个脚本,而不是调用同一个 HTML 源中的代码。 如何在不调用另一个脚本的情况下使用defer
在我的 HTML 代码中实现相同的ready
功能?
<div style="margin-top: 100px">.</div> <div>AAAA</div> <script defer>alert('hi')</script> <div>BBBB</div>
您基本上可以使用三个标准选项,两个是显式的,一个是隐式的,取决于浏览器如何解析文档(自上而下,逐个元素):
defer
。 将defer
属性添加到脚本标记会导致脚本执行延迟到DOMContentLoaded
将触发之前(当解析 DOM 时),并确保DOMContentLoaded
在完整脚本执行之前不会实际触发。 请注意,当缺少src
属性时,不得使用defer
(即它仅适用于外部脚本)。DOMContentLoaded
侦听器(或者readyStateChange
侦听器,如果您喜欢使事情复杂化的话)。</body>
标记之前添加您的script
标记。 请注意,具有type="module"
的脚本会自动延迟。
就个人而言,我在 2015 年左右停止使用 jQuery,从那以后,我一直在使用DOMContentLoaded
,这些年来没有出现过任何问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.