Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 窗口。加载将不会启动_Javascript_Jquery_Html_Typescript - Fatal编程技术网

Javascript 窗口。加载将不会启动

Javascript 窗口。加载将不会启动,javascript,jquery,html,typescript,Javascript,Jquery,Html,Typescript,在呈现页面上的HTML之后,我需要运行一个函数(因为我需要获取特定动态div的高度)。我尝试了几种方法,但我无法启动窗口。加载(我使用的是Chrome) 我已将以下所有代码放置在TypeScript ViewModel的构造函数中 这不起作用: $(window).on('load', function () { ...code... }); 这也不是: $(window).load(function(){ ...code... }); 或者这个: window.addEv

在呈现页面上的HTML之后,我需要运行一个函数(因为我需要获取特定动态div的高度)。我尝试了几种方法,但我无法启动
窗口。加载
(我使用的是Chrome)

我已将以下所有代码放置在TypeScript ViewModel的构造函数中

这不起作用:

$(window).on('load', function () {
    ...code...
});
这也不是:

$(window).load(function(){ 
    ...code...
});
或者这个:

window.addEventListener('load', function () { 
    ...code...
});

你知道为什么这些都不管用吗?如果有其他方法可以这样做,我愿意接受建议。

尝试将其放在以下内容中:

$(document).ready(function() {
    jQuery.event.add(window, "load", myFunction);

    myFunction() {
        ...code...
    }
});

当我必须根据渲染后的高度操纵一个
时,这对我来说很有效。

您使用什么方法来确定这些尝试不起作用?事实上,这些都为“load”事件创建了一个处理程序。(假设您已导入jQuery,并且没有任何其他错误。您是否尝试添加了一些
console.log()
调用?)窗口加载事件在页面生命周期内只发生一次。如果您尝试在加载新内容后侦听更改,则窗口加载事件不是您要查找的。除了查看代码应生成的结果外,我还在方法中放置了一个断点。出于调试目的,我还在函数中添加了一个基本的
警报
。@KevinB Fair point,但这是当我导航到一个新页面时。然后,您将需要绑定到创建/填充“动态div”的任何内容中,窗口加载显然在您的情况下不起作用,因为您在加载发生后应用它。AFAIK document.ready是预渲染或在构建DOM之前。我已经试过了,当我的函数中的代码试图查找需要首先呈现的div时,找不到它。渲染完成后,我可以进入控制台,用相同的代码找到它。没问题。谢谢。我没有投反对票,但这仍然不起作用。凯文B最后给了我一个有效的建议。