问题标签 [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 投票
3 回答
10589 浏览

jquery-load - jquery .load() 并在新内容加载后触发函数?就像 JavaScript 的 onload 事件

使用 jquery,我正在使用 jquery 的功能交换网页中的一些内容.load()。我想在内容实际加载后立即触发一个事件,但不是 beforeafter。我准备好任何优雅的解决方案!为什么?在这种情况下,我正在使用旧的“淡出、交换内容、淡入”方法。我的问题?我想在新内容加载后立即淡出。

注意事项:

  • $('#object').load(url, callback)只要.load()函数成功执行(在实际加载内容之前) ,就使用回调函数作为触发器。在这里没用。
  • 使用定时延迟淡入不是一个优雅的解决方案。非常“笨拙”,尤其是对于那些互联网连接速度更快的人。
  • JavaScript 的onload事件触发器不起作用,因为.load()正在更改的元素已经加载到 HTML DOM 中。
  • jquery 的.ready()功能也不起作用,因为实际元素已经加载。
  • 我不想创建一个onload.ready()子容器元素,因为这是我实际尝试的一种解决方法,尽管它可能同样优雅或更多。

当(且仅当)新内容最终加载时,我如何才能触发函数.load(),就像 JavaScript 的onload事件一样?非常感谢。

编辑事实证明,jquery.load()函数工作完美,我正在接近这个错误。

  • 一旦.load()函数成功完成,它就会调用程序员包含的任何“回调”函数,就像任何其他接受回调作为其“参数”之一的 jquery 函数一样。
  • 一旦出错或成功开始 HTML 替换和加载新内容,该.load()功能就完成了,但就是这样!然后,无论加载内容需要多长时间,但您的.load通话在此之前已经完成。因此,期望回调在内容加载.load运行只会让您失望。;)

我希望其他人可以像我一样从中吸取教训,包括那些认为我认为是这样的人。证明:如jquery ajax .load page中所述,回调在请求完成时执行,而不是加载完成时执行。尤里卡。哎呀。/编辑

0 投票
2 回答
131 浏览

jquery - Jquery:具有相同拓扑但行为不同的孩子

我正在使用 jquery 在 $(window).load 上使用以下代码初始化一行按钮:

然后,我有这个来处理点击:

在脚本块结束后:

所以,从拓扑上看,两个测试按钮和我初始化的 22 个按钮之一应该是相同的。但它只识别我点击两个测试按钮。我究竟做错了什么?

0 投票
1 回答
145 浏览

jquery - 在 iframe 中使用 ajax 就绪函数

我正在 iframe 中加载网页。当页面“准备好”时,该页面使用 jquery .ready 函数加载内容。.ready 函数似乎启动得太快了。

我在搜索时找到的所有解决方案都涉及在主页(而不是 iframe 页面)上触发的事件。我可以在 iframe 内加载的页面源代码中执行什么操作以使 .ready 函数稍后触发,或者我可以使用其他一些可以使用的函数或事件吗?我不希望使用任意超时功能,因为这可能会导致不必要的延迟,或者在某些情况下可能等待的时间不够长。

编辑:我在 iframe 中加载的页面,当它直接在浏览器中加载时工作得很好。

0 投票
1 回答
141 浏览

jquery - jQuery 插件模板可链接性与每个就绪

我正在编写一个 jQuery 插件,并且我只想将该插件附加到选定的元素,只有当它存在时,没有任何点击或其他事件。

这个插件有其他链式函数,我想在这个插件附加到那个元素时调用这个函数。

我想将该元素作为对象传递给链式函数。

但是我收到此错误消息,并且该插件当然不起作用!无论我使用each还是ready在该插件中,我都会收到相同的错误

类型错误:$this.function_1 不是函数

我该如何做对?

jQuery,

html,

jsfiddle

0 投票
3 回答
3771 浏览

android - Android - 等待外部存储准备就绪

我目前正在开发一种从外部存储读取的动态壁纸。当设备启动时,我认为可以在存储准备好之前启动动态壁纸。特别是如果它进行定期错误检查。其他人正在报告问题,我认为这就是原因。我似乎无法对此进行测试,因为外部存储似乎会立即安装在我的设备上,而且我不确定如何强制它进行错误检查。所以我的第一个问题是,在启动动态壁纸之前,系统是否真的按照 BOOT_COMPLETED 意图进行操作。

如果没有,等待外部存储准备就绪的正确方法是什么。我正在考虑在应用程序的开头调用这样的东西

我是否必须检查其他情况,以防它在启动时进入 MEDIA_REMOVED -> MEDIA_UNMOUNTED -> MEDIA_CHECKING(optional) -> MEDIA_READY?

0 投票
1 回答
605 浏览

jquery-plugins - 带有 click 和 ajaxForm 调用的 Jquery 就绪函数

我真的是使用 JQuery 的新手,我的代码中有错误。当用户单击“按钮”时,下一段代码运行良好,它将文件加载到内容 div 中。

但是现在我正在尝试使用 JQuery Form 插件(使用此示例http://www.malsup.com/jquery/form/)并且它不起作用(ajaxForm 调用),我无法理解如何合并我的下一个代码原始码。我尝试了很多方法,例如制作 2 个准备好的功能,但它也不起作用,

我必须将下一段代码放在我原来的就绪函数中的什么地方?怎么可能两者兼得?

0 投票
8 回答
3958 浏览

javascript - dom 操作后文档准备就绪

我正在做一个应用程序,Phonegap并且我正在使用自建的幻灯片转换来更改页面。它是这样工作的:

每个页面都是div100% 的高度和宽度,所以如果我更改页面,我会将下一个div右侧设置为当前活动的并将两者都滑动到左侧。

现在来解决问题:滑动工作正常,但它是在右侧的内容div完全加载之前执行的。所以右边的div幻灯片是空的,只有在几百毫秒后才会出现内容。

我试过了document.ready,但正如我所读到的,这个事件只在第一次DOM加载时执行。

有谁知道在我操纵withDOM之后如何等待 再次完全渲染?DOMJavascript

0 投票
2 回答
221 浏览

javascript - 必须在同一个脚本中多次使用 $(document).ready()

我有一个具有以下结构的脚本:

如果我删除任何一个$(document).ready(..)函数调用,当我尝试从不同的命名空间访问一个常量时,它是未定义的;两者都很好用。

如您所见,我使用了两个init()函数,一个只是为了整理对 init 的调用,因为我将函数包装在一个附加对象中。

如果我删除与 CONSTANTS、VARIABLES 等处于同一级别的函数并尝试init()在 Test.FUNCTIONS 中调用它仍然不起作用。

编辑:

如果console.log(all_constants)我得到完整的对象(使用 .chunk_of_markup),但如果我console.log(tester)得到undefined. 如果我包装测试仪,我会得到[]

我还应该注意,另一个命名空间从单独的文件中获取标记。

任何想法为什么?

0 投票
2 回答
1375 浏览

jquery - 加载嵌套图像后查找元素高度的一致方法

我有一个div.body包含img更多元素的其中一个。

我需要获取加载div.body后的高度。img

我目前正在使用以下方法进行测量:

这会在 90% 的情况下返回正确的高度,但有时它会返回不包括图像高度的高度。


例如,如果其他元素的div.body总和为50px,并且我的图像的高度为150px,我需要得到200px,但有时这只是返回50px


为什么是这样?不应该.ready()只在图像加载后调用该函数吗?

我应该使用不同的方法吗?

一旦图像可用,运行此代码的 100% 一致方式是什么?

0 投票
1 回答
450 浏览

javascript - Javascript document.open 异步?

所以在我的网站上有一个 Javascript 函数,它将通过 XMLHttpRequest 从服务器加载一个新网站。之后,它将当前页面替换为新页面:

有些人可能会假设在 do.close() 之后文档已更改并准备就绪。但事实并非如此,例如,如果我加载非常多/大数据/responseText 函数 goOn() 只会记录一个空结果。显然 goOn() 在 DOM 准备好被读取之前被调用!不幸的是,在 write() 完成后没有触发“就绪”事件......我怎么能确定它已经完成?

/EDIT: goOn() 将此记录到 Chrome 控制台:

但是,如果我在手动输入 $('img:visible') 到控制台之后,它会向我显示所有图像......