|
1
1175
有一个基于标准的替代品,
jquery的本机函数比window.onload复杂得多,如下所示。
|
|
|
2
310
编辑: 这里有一个可以替代jquery的可行方案。
取自 https://plainjs.com/javascript/events/running-code-when-the-document-is-ready-15/ Another good domReady function here 取自 https://stackoverflow.com/a/9899701/175071
由于接受的答案还远远不够完整,我把“准备好”的功能缝在一起,就像
如何使用:
我不确定这段代码的功能,但它在我的表面测试中运行得很好。这花了很长时间,所以我希望你和其他人能从中受益。 PS.:我建议。 compiling 它。 或者你可以使用 http://dustindiaz.com/smallest-domready-ever :
或者,如果只需要支持新的浏览器,则使用本机函数(与jquery ready不同,如果在页面加载后添加此函数,则不会运行此函数)
|
|
3
193
三种选择:
OnReadyStateChange(状态更改)
来源: MDN 已加载domcontentloaded
关注石器时代的浏览器:
转到jquery源代码并使用
|
|
4
84
放置你的
不可否认,这可能不适合每个人的目的,因为它需要更改HTML文件,而不仅仅是在JavaScript文件中执行一些操作。
|
|
|
5
67
穷人的解决方案:
加上了这个,我想更好一点,有自己的作用域和非递归
|
|
6
33
我用这个:
注意:这可能只适用于较新的浏览器,尤其是以下浏览器: http://caniuse.com/#feat=domcontentloaded |
|
7
20
真的,如果你在乎的话
Internet Explorer 9+
仅此代码足以替换
如果你担心 Internet Explorer 6 还有一些非常奇怪和罕见的浏览器,这将起作用:
|
|
|
8
17
这个问题很久以前就被问到了。对于任何刚刚看到这个问题的人,现在有一个叫做 "you might not need jquery" 它按所需的IE支持级别分解了jquery的所有功能,并提供了一些可选的、较小的库。 IE8文档就绪脚本 you might not need jquery
|
|
|
9
13
我最近用这个做手机网站。这是John Resig从“pro-javascript技术”得到的简化版本。这取决于addevent。
|
|
|
10
11
jquery的答案对我很有用。只需稍加重构,就可以很好地满足我的需要。 我希望它能帮助任何人。
|
|
|
11
10
跨浏览器(也是旧浏览器)和一个简单的解决方案:
|
|
|
12
9
这里是 测试DOM就绪的最小代码段 适用于所有浏览器(甚至是IE 8):
看到这个 answer . |
|
13
6
只需将它添加到HTML页面的底部…
因为,HTML文档是由顶部和底部来解析的。 |
|
14
4
一旦DOM就绪,此跨浏览器代码将调用函数:
它的工作原理如下:
例如,如果您这样做:
注意,这只适用于用户定义的函数。以下内容不起作用:
|
|
15
4
值得一看 Rock Solid addEvent() 和 http://www.braksator.com/how-to-make-your-own-jquery . 这是万一网站瘫痪的代码
|
|
|
16
3
这个解决方案怎么样?
|
|
17
3
与jquery相比,使用JavaScript等价物总是很好的。一个原因是需要依赖的库少了一个,而且它们比jquery等价物快得多。 jquery等价物的一个非常好的参考是 http://youmightnotneedjquery.com/ . 关于您的问题,我从上面的链接中获取了以下代码:) 唯一需要注意的是,它只适用于 Internet Explorer 9 后来。
|
|
18
2
我们发现了一个快速而肮脏的跨浏览器实现,它可以在实现最少的情况下为大多数简单的情况提供帮助:
|
|
|
19
2
这里介绍的setTimeout/setInterval解决方案只能在特定情况下工作。 这个问题尤其出现在旧版本的Internet Explorer(最多8个)中。 影响这些设置超时/设置间隔解决方案成功的变量有:
解决此特定问题的原始(本机javascript)代码如下:
这是jquery团队从中构建实现的代码。 |
|
|
20
1
这是我使用的,它速度快,涵盖了我认为的所有基础;适用于除IE<9以外的所有东西。
这似乎适用于所有情况:
domcontentloaded事件在IE9和其他所有工具中都可用,所以我个人认为可以使用它。如果您没有将代码从ES2015发送到ES5,请将arrow函数声明重写为常规匿名函数。 如果要等到加载完所有资产、显示的所有图像等,请改用window.onload。 |
|
|
21
1
如果您不需要支持非常老的浏览器,这里有一种方法可以做到这一点,即使在加载外部脚本时 异步的 属性:
|
|
|
22
1
我简单地使用:
而且不像
例如,转到 https://netrenderer.com/index.php ,从下拉列表中选择Internet Explorer 9,输入 https://dexygen.github.io/blog/oct-2017/jekyll/jekyll-categories/liquid-templates/2017/10/22/how-jekyll-builds-site-categories.html 点击“渲染”,你会看到一些类似于文章底部截图的东西。
请参阅下面的javascript代码,我在标题中使用它来操作jekyll“hacker”主题的样式,这是我喜欢的——特别是您可以参考
有趣的是我偶然发现了这个
|
|
|
23
0
对于IE9+:
|
|
24
0
|
|
|
25
0
这种方法是我能想到的最短的方法。 基于domcontentloaded事件的解决方案仅在脚本在文档之前加载时才起作用,而这里建议的惰性检查确保始终执行代码,即使是在以后动态加载的脚本中,也与jquery的文档完全相同。 此代码与所有浏览器都兼容(包括一些传统浏览器,直至IE6和Safari for Windows)。
|
|
|
26
0
中的就绪函数
不管怎样,把它贴在这里没什么意义,只要打开
它首先调用
|
|
|
27
0
试试这个:
|
|
|
28
0
OndoCeDead 当HTML DOM准备好完全访问/分析/操作时提供回调。 欧文负载 在加载所有内容(图像等)时提供回调
|
|
|
29
-1
这是个好消息 https://stackoverflow.com/a/11810957/185565 可怜人的解决办法。一条评论认为这是紧急情况下的紧急救援措施。这是我的修改。
|
|
30
-1
编辑@duskwuff的编辑以支持 Internet Explorer 8 也是。不同之处在于对regex的函数测试和具有匿名函数的setTimeout的新调用。 另外,我将超时设置为99。
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Dr.0000FF · jQuery按钮点击不显示/隐藏内容 1 年前 |
|
|
user28928120 · 如何在jquery中选择所有类? 1 年前 |
|
Eliable · 使点击计数器和进度条协同工作 1 年前 |
|
Jack Maessen · 在处理程序上使用时如何获取输入类型 1 年前 |