标签: onready

$(document).ready到底保证了什么?

在谷歌的Chrome浏览器中运行我的(相当复杂的)JavaScript/jQuery应用程序,它似乎$(document).ready会在某些JavaScript文件尚未加载时触发.

相关代码(简化):

在我的HTML文件中

<script>var httpRoot='../../../';var verifyLoad = {};</script>

<script src="../../../globalvars.js"></script>
<script src="../../../storagekeys.js"></script>
<script src="../../../geometry.js"></script>
<script src="../../../md5.js"></script>
<script src="../../../serialize.js"></script>
...
<script src="../../../main.js"></script>
Run Code Online (Sandbox Code Playgroud)

作为除main.js之外的每个.js文件的最后一个语句:

verifyLoad.FOO = true; // where FOO is a property specific to the file
Run Code Online (Sandbox Code Playgroud)

例如

verifyLoad.jquerySupplements = true; 

verifyLoad.serialize = true; 
Run Code Online (Sandbox Code Playgroud)

在main.js中:

$(document).ready(function() {
    function verifyLoadTest (scriptFileName, token) {
        if (!verifyLoad.hasOwnProperty(token)) {
            console.log(scriptFileName + ' not properly loaded'); 
        };
    };
    verifyLoadTest('globalvars.js', 'globalvars');
    verifyLoadTest('storagekeys.js', 'storagekeys');
    verifyLoadTest('geometry.js', 'geometry');
    verifyLoadTest('md5.js', 'geometry');
    verifyLoadTest('serialize.js', 'serialize');
    ...
}
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,我看到其中一些触发器.这与我的理解不符$(document).ready.我错过了什么?

javascript jquery onready

19
推荐指数
1
解决办法
511
查看次数

Android - 当activity.setContentView完成渲染时是否触发了任何事件?

myImageView.getImageMatrix()一旦我的活动准备就绪,我正试图从方法中获取值.我尝试使用onCreate(),onStart(),onResume()方法,但我得到的矩阵是默认的.

如果我调用myImageView.getImageMatrix()OnClickListener触发,在我的活动可见后,我会得到正确的值.


为了更清楚:

  • 调用getImageMatrix onStart = Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}

  • 调用getImageMatrix onClick = Matrix{[0.77488154, 0.0, 7.6717987][0.0, 0.77488154, 0.0][0.0, 0.0, 1.0]}

events android image matrix onready

8
推荐指数
1
解决办法
5636
查看次数

setInterval多次触发函数

编辑:我所说的多次触发的意思是 newjob() 将每 5 秒触发 3 次...所以在 20 秒内我将触发它 12 次,而不是我想要的 4 次。所以它每 5 秒触发多次,而不是每 5 秒触发一次。

我有一个使用 Toastr 创建的函数,用于在我的 Web 应用程序上显示消息。我最终会将其与 API 的 ajax 请求联系起来,以确定是否显示消息,但现在我只是测试它的外观。

我正在设置一个间隔,但它会多次触发其中的函数(通常为 3 次)。

$(document).ready(function() {
    setInterval(function () {
        newJob();
    }, 5000);
});
Run Code Online (Sandbox Code Playgroud)

我无法执行 setInterval( function(e) { } 因为 e 未定义,因为没有与之关联的事件,点击时,我使用了 e.stopImmediatePropagation(); 让它只触发一次。我怎样才能如果我没有 e,则按设定的时间间隔停止立即传播?

谢谢。

编辑:完整代码:

var newJob = function(e) {
    var i = -1;
    var $toastlast;

    var getMessage = function () {
        var msgs = ["There's a new job in the job dispatch queue", …
Run Code Online (Sandbox Code Playgroud)

javascript jquery setinterval onready

4
推荐指数
1
解决办法
2万
查看次数

Javascript框架主要提供文档/ onready功能

几个月前,我在Facebook平台上进行Javascript编程,其中主要框架如Dojo,ExtJS,jQuery,Prototype等不一定有效.这让我发现了一些仅提供CSS选择功能的框架,用于可能的移植,即Sizzle(在jQuery中使用)和Peppy.

我记得当时还遇到了一个迷你框架,它主要提供了一些主要框架提供的文档/ onready功能.但是我不记得这些(实际上只有一个)我做Sizzle和/或Peppy的方式.任何人都可以指向我这样一个Javascript迷你框架,主要提供文档/ onready功能吗?谢谢

javascript frameworks document onready

3
推荐指数
1
解决办法
1891
查看次数

EXTJS - 内部脚本的 Ext.require 和 onReady()

我有一个从主 html 文件加载的 app.js 文件。现在,这个 app.js 文件在单击其中定义的链接时,会使用 Ext.require() 动态加载第二个 js 文件。加载发生正常,因为我已经定义了 Ext.Loader.setPath() 等,第二个脚本包含诸如 Ext.require() 之类的行来导入一些 ui 库,然后是 onReady(),我的问题是 onReady 永远不会被触发,我不能将小部件渲染代码放在 onReady() 之外。onReady 是否仅适用于同步加载脚本?

非常感谢

extjs onready

1
推荐指数
1
解决办法
9534
查看次数

在javascript中,当第一个函数准备好时执行一个函数

在javascript中,当第一个函数“准备好”时,有什么方法可以调用另一个函数

像这样:

ridiculousTimeConsumingFunction().onReady( newFunction() );
Run Code Online (Sandbox Code Playgroud)

为了说明我的例子,你可以看看她:http : //web.cinaird.se/pdf/test.htm

javascript chaining onready

0
推荐指数
1
解决办法
2915
查看次数