问题标签 [document-ready]

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 投票
2 回答
1975 浏览

javascript - 更新 jQuery $(document).ready() 基本范围内的变量?

我正在尝试找到一种方法来最小化 Selector 查找的数量。我的问题是我有一个用基本 $(document).ready() 定义的变量,需要在嵌套在 $(document).ready() 内的函数内更新

考虑这个例子(编辑:我更新它以更具解释性)

如何更新变量 $current_page而不使其成为全局变量?

编辑:这样做是为了在您单击菜单项时为当前页面 div 设置动画。是的,它缺少一些东西,是的,它可能没有意义。这只是一个例子,而不是实际的应用程序。

我知道这个例子对性能来说仍然微不足道,忽略这个事实。我只想知道如何做到这一点,而不是关于它是最佳实践还是性能的教训。多谢你们。

0 投票
1 回答
6522 浏览

jquery - jQuery - 在 document.ready 之前运行一个函数......但不要太早

我有一个页面,其中包含一个 div,当页面加载时必须通过 JS 调整其大小。为了做到这一点,我给它一个 760px 的“默认宽度”,然后运行以下代码:

但是,页面可能需要一段时间才能加载,因为#listdiv 包含大量图像。因此,只有在所有内容完成加载后,div 才会扩展以填充正确的宽度。我不能把它从$(document).ready函数中取出,否则会出错,说 document.body 是未定义的。

有没有办法#list在所有内容加载之前调整 div 的大小?

编辑
请参阅:http
://www.google.com/images?q=whatever 他们已经成功地实现了我想要做的事情。该列表在页面加载时立即正确调整大小,然后被填充。您可以通过调整窗口大小并观察元素平滑移动来告诉他们通过 JS 调整所有内容的大小。可悲的是,谷歌的 JS 并不是世界上最容易阅读的sigh

0 投票
2 回答
410 浏览

jquery - 何时使用 dom:loaded / document.ready 事件

当我使用使用原型/jquery 将数据“附加”到现有元素的方法时,将此类逻辑包装在document.observe("dom:loaded", foo)/$(document).ready(foo)函数中是一种好习惯吗?

0 投票
1 回答
490 浏览

jquery - JQUERY iFrame,带有警报,没有警报就无法工作 - 奇怪吗?为什么

以下不适用于我的页面:

但是,如果我添加一个警报,我假设它会增加某种类型的延迟以让 iframe 在 JS 继续之前运行,它可以工作吗?

延迟是使它起作用的原因吗,不应该准备好处理这个吗?另外,有没有办法让上面的直播,所以时间不是问题?

0 投票
3 回答
638 浏览

jquery - jQuery的就绪队列$(foo)和$(bar)是顺序运行还是并行运行?

如果有 2 或 3 或 20 个使用 jQuery 的语句

添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?

0 投票
2 回答
1281 浏览

jquery - 使用 jQuery 加载后递归访问 iframe

我在这里查看了相关问题,但问题略有不同。

我正在跨嵌套 iframe 重写锚点,有时深度为 3 或 4 个 iframe。

在访问锚点之前,我使用 .load(function(){}) 等待每个加载。这在只深入一个 iframe 时效果很好,但在那之后就失败了。

这是代码:

它递归地查找所有 iframe,但它只会为第一个执行 .load 回调。

任何想法为什么?

谢谢!

注意:所有 iframe 文档都在同一个域中——我可以通过控制台访问所有框架的内容。

0 投票
2 回答
6431 浏览

javascript - $(document).ready(function() 在 Content Pages / Telerik Controls 中无法完美运行

我项目中的页面基于母版页和内容页...

我想在所有主元素和内容元素都加载完成后,在一个内容页面中使用 javascript(而不是 jquery)做一些事情 (例​​如,将焦点设置在 RadComboBox 控件上)

为此,我使用了以下代码:

alert(combo);总是返回null。($find代码是用于telerik控件的,关于telerik控件的上层代码是完全正确的)

为了解决这个null问题,我测试了如下所示的方法:

1-我从主页面和内容页面中删除了所有控件,除了 RadComboBox 控件和空问题消失了,所以我得出空问题是关于主页面和内容页面的所有元素都没有被加载时

$find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");

被解雇。

2-所以我用

$(document).ready(function() { my codes });

代替

onload = onloadOfDocument;

但问题没有解决 - 我不知道为什么!

3-最后我测试了下面的代码,它完美地工作:

在所有 MASTER 和 CONTENT ELEMENTS 完全加载后,我应该使用什么文档功能来执行一些 javascript 代码?

在未来提前感谢

0 投票
1 回答
465 浏览

javascript - Firefox 和 IE6 的 document.ready() 问题

我创建了一个带有 Tabber 选项卡功能的 html 页面。

  • 每个选项卡都有自己的表格,在单击选项卡时加载,并且仅在初始选项卡单击时加载一次以停止表格多次加载。
  • 每个选项卡表都存在于自己的 .jsp html 文件中,并使用$("#tab1").load('tabqtable.jsp');调用通过 javascript 加载。

我目前document.ready()在每个选项卡加载时都有一个单独的选项卡 html 文件来运行。这些脚本可以在 Chrome 中完美运行,但这些document.ready()功能在 Firefox 和 IE6 中无法运行。

我可以将alert();document.ready() 函数放在一个外部并且它可以工作,所以我知道脚本标签正在运行。我还尝试将所有 javascript 移动到函数中的 return 函数调用,.load()以便当从 m/ain html 页面成功运行时 javascript 将运行.load(),但仍然得到相同的结果。

我很茫然,如果我能得到它,我真的很感激在这个问题上的一些帮助。表格加载完美,我只是没有获得与表格交互所需的任何功能。这也不是我正在运行的脚本,因为它们都适用于主 html 页面。感谢您提前提供任何帮助。

0 投票
2 回答
21597 浏览

jquery - JQuery $(document).ready ajax 加载

我查看了很多相关的问题,我必须提出完全不同的问题,因为我只看到了一些似乎相关的问题。我正在通过 JQuery Ajax 调用加载整个中间 div,我只是希望能够在该新区域上执行一些自动 JQuery,例如 $(document).ready 在加载 DOM 时允许。我读到 livequery 会这样做,但我认为会有一种内置方法。我正在尝试将日期选择器添加到输入字段的开头。

这是将调用后端内容的内容,然后将提取一些特定部分。

在该 divElement 中放置的文件内部将有一个 JQuery 方法,需要运行该方法来更改其中的 html。

0 投票
4 回答
8631 浏览

jquery - jQuery 多文档就绪队列顺序

我知道在 jQuery 中对 $(function(){ }) 的调用是按照它们定义的顺序执行的,但是我想知道你是否可以控制队列的顺序?

例如,是否可以在“Hello World 1”之前调用“Hello World 2”:

问题是它是否可能......我已经知道它违反了最佳实践;)