问题标签 [domcontentloaded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
741 浏览

javascript - 正确的 JavaScript 等价于

什么是正确的 JavaScript 替换方式<body onload="init();">,记住我们不再需要支持非常旧的浏览器。

就我而言,我想为所有标签添加一个 onClick 事件,并希望将 Javascript 与我的 HTML 页面分开。

从这个开始,但发现全局文档对象在内部不可用init(),这似乎是一个时间问题。它在旧浏览器中运行得更好吗?

似乎是一种更现代的可靠方式,但所有现代浏览器都支持吗?

然后有人建议将 init() 放在页面底部,但这显然是回到让 Javascript 直接在 HTML 中。

有没有明确的方式我应该运行我的初始化代码?

0 投票
9 回答
68938 浏览

javascript - DOMContentLoaded 事件中的代码不起作用

我用过

但似乎里面的代码document.addEventListener('DOMContentLoaded', function () {});没有加载。

如果我从我的代码中删除它,它会突然起作用。

我在这里做了一个 JS Bin

0 投票
1 回答
488 浏览

javascript - javascript DOMContentLoaded 事件监听器

我在 html 文档中有几个脚本,它们都有一个DOMContentLoaded事件侦听器。javaScript 会保持侦听器执行的相对顺序还是同步执行它们?

0 投票
1 回答
280 浏览

javascript - 在 jQuery 文档准备好之前在 Window 上强制执行 DOMContentLoaded 事件

假设我的页面某处有以下两个脚本标签:

有没有简单的方法来强制 DOMContentLoaded 事件在之前触发$().ready

这是我实际问题的简化示例。我面临的真正问题是 DOMContentLoaded 事件已注册在第三方库中,我将其包含在页面正文的底部,并且我有太多$().ready调用来快速更改它们。从理论上讲,我可以更改window.addEventListenerdocument.addEventListener而不会产生任何问题,但是因为我在页面的头部包含了 jQuery,所以$().ready之前的所有调用仍然触发,如此document.addEventListener("DOMContentLoaded"...)所述,并且我无法合理地移动 jQuery 或第三个的包含位置-派对图书馆。如果可能的话,我还想避免对第三方库进行更改。

0 投票
3 回答
892 浏览

angular - Angular2,模板仅在使用 ngAfterContentInit 或 ngAfterViewInit 函数时部分执行

在尝试访问文档的 DOM 时,我发现模板仅部分执行。如果我使用 asetTimeout我可以解决这个问题,但是正确的方法是什么?

appService正在提供模板将用于显示 html 的数据。模板:

不知何故*,对应的部分sessions已填充但尚未current_tabs填充的部分。两者和在调用之前都正确填写this.sessionsthis.current_tabsaddListeners

*console.log(document.documentElement.innerHTML)setTimeout

(在 setTimeout 内执行时,两者都正确填充)

在代码中,我想要的是let draggables = document.getElementsByClassName('session');正确检索,但我没有得到其中定义的那些,<section class="current_tabs">因为它尚未填充

编辑:在 Angular 2 中对 TypeScript 字典进行更核心的迭代

0 投票
2 回答
836 浏览

javascript - javascript对象原型调用

b2 和 b3 没有触发原型函数并且没有产生错误?如何以时尚的方式完成调用原型函数?

0 投票
0 回答
187 浏览

javascript - 在 Safari 10.1 中完成弹性框计算之前,DOMContentLoaded 和加载事件会触发吗?

在新发布的 Safari 10.1 (macOS Sierra) 中,浏览器似乎会在flexbox 完成计算宽度和高度之前触发加载事件(document.DOMContentLoaded 和 window.load)。

我有一个脚本可以计算元素的高度,以确定是否应将内容拆分为多个元素。

该解决方案呈现打印在死树上的发票,这就是为什么需要将内容拆分为单独的实际元素的原因。

一旦 flexbox 完成了它的魔力,我是否可以听其他任何事件来执行脚本?

该解决方案在 Chrome、Internet Explorer、Firefox、Opera 和旧版本的 Safari 上完美运行。我可以通过使用 100 毫秒的 setTimeout 使其在 Safari 10.1 中运行,但感觉有点 hacky。

0 投票
0 回答
745 浏览

javascript - 为什么 DOMContentLoaded 在 Safari 中的行为与在其他浏览器中的行为不同

为什么DOMContentLoaded在 Safari (10.1) 中的行为与在其他浏览器 (Chrome/Firefox) 中的行为不同,最好的解决方法是什么?现在我使用 asetTimeout作为一种解决方法,但这会导致其他浏览器中跳跃行为的不良影响......

0 投票
1 回答
36 浏览

javascript - 实时编辑器

我试图在页面加载时获取它,它会自动加载我在文本框中的代码,我在想也许使用加载的 Dom 内容?有什么建议么?

0 投票
0 回答
451 浏览

javascript - 是否可以使用 fetchUrl(·),但要在 html 加载后获取结果?

假设一个带有 url 的网页'http://example.com'有 html 和 javascript:

假设我打电话给别处var x = UrlFetchApp.fetch('http://example.com').getContentText();。然后一个得到x = 42。但是,如果 Fetch 正确等待代码加载,则应该获得x = 2.

是否可以告诉 fetch 等到 HTML 完全加载(例如,直到'DOMContentLoaded'保持),然后再运行getContentText