标签: onload

没有调用带有DOMContentLoaded或加载事件处理程序的异步加载脚本?

我有一个带有DOMContentLoaded事件处理程序的脚本 -

document.addEventListener('DOMContentLoaded', function() {
    console.log('Hi');
});
Run Code Online (Sandbox Code Playgroud)

我正异步加载 -

<script async src=script.js></script>
Run Code Online (Sandbox Code Playgroud)

但是,永远不会调用事件处理程序.如果我同步加载它 -

<script src=script.js></script>
Run Code Online (Sandbox Code Playgroud)

它工作正常.

(即使我将DOMContentLoaded事件更改为load事件,也从未调用过.)

是什么赋予了?无论浏览器如何加载脚本,都应该注册事件处理程序,不是吗?

编辑:它无法在Chrome 18.0.1025.11测试工作,但,有DOMContentLoaded,它不会在Firefox 11 Beta版(但load事实并非如此).去搞清楚.

哦伟大的JAVASCRIPT和DOM,祈祷显示我的方式的错误!

javascript dom onload

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

AngularJS - 图像"onload"事件

我一直在寻找一个简单但不是微不足道的问题的答案:onload用jqLit​​e在Angular中捕获图像' 事件的正确方法是什么?我发现了这个问题,但我想要一些指令解决方案.
正如我所说,我不接受这个:

.controller("MyCtrl", function($scope){
    // ...
    img.onload = function () {
        // ...
    }
Run Code Online (Sandbox Code Playgroud)

因为它在控制器中,而不是在指令中.

javascript onload angularjs angularjs-directive jqlite

29
推荐指数
3
解决办法
6万
查看次数

iFrame onload JavaScript事件

我有一个iFrame,我想在加载后发送JavaScript命令.我当前的代码如下所示:

<iframe src="http://www.test.tld/" onload="__doPostBack('ctl00$ctl00$bLogout','')">
Run Code Online (Sandbox Code Playgroud)

但是使用此代码,命令不会执行.我必须改变什么来使它工作?只支持Chrome和Firefox.

javascript iframe onload onload-event dom-events

29
推荐指数
3
解决办法
13万
查看次数

何时使用"window.onload"?

在JavaScript中,当我想在页面加载时运行一次脚本时,我应该使用window.onload还是只编写脚本?

例如,如果我想要一个弹出窗口,我应该写(直接在<script>标签内):

alert("hello!");
Run Code Online (Sandbox Code Playgroud)

要么:

window.onload = function() {
    alert("hello!");
}
Run Code Online (Sandbox Code Playgroud)

两者似乎都在加载页面后运行.有什么区别?

javascript onload onload-event

28
推荐指数
3
解决办法
6万
查看次数

在ViewModel构建期间或之后MVVM加载数据?

我的通用问题是标题所述,是否最好在ViewModel构造期间或之后通过某些Loaded事件处理加载数据?

我猜测答案是在构建之后通过一些Loaded事件处理,但我想知道ViewModel和View之间如何最清晰地协调?

这里有关于我的情况以及我想要解决的特定问题的更多细节:

我正在使用MVVM Light框架以及Unity for DI.我有一些嵌套的视图,每个视图都绑定到相应的ViewModel.ViewModel通过Laurent Bugnion放入MVVM Light的ViewModelLocator理念绑定到每个View的根控件DataContext.这允许通过静态资源查找ViewModels并通过依赖注入框架控制ViewModels的生命周期,在本例中为Unity.它还允许Expression Blend查看与ViewModel相关的所有内容以及如何绑定它们.

所以无论如何,我有一个父View,它有一个ComboBox数据绑定到其ViewModel中的ObservableCollection.ComboBox的SelectedItem也绑定(双向)到ViewModel上的属性.当ComboBox的选择发生变化时,这将触发其他视图和子视图中的更新.目前我正在通过MVVM Light中的Messaging系统实现这一目标.当您在ComboBox中选择不同的项目时,这一切都非常有效.

但是,ViewModel通过一系列初始化方法调用在构造期间获取其数据.如果我想控制ComboBox的初始SelectedItem是什么,这似乎只是一个问题.使用MVVM Light的消息传递系统,我目前已经设置了ViewModel的SelectedItem属性的setter是广播更新的设置者,另一个感兴趣的ViewModels注册用于它们的构造函数中的消息.看来我正在尝试在构造时通过ViewModel设置SelectedItem,这样就不允许构建子ViewModel并进行注册.

在ViewModel中协调数据加载和SelectedItem初始设置的最简洁方法是什么?我真的很想坚持在View的代码隐藏中尽可能少地使用合理的代码.我想我只需要一种方法让ViewModel知道什么时候有东西已经加载,然后它可以继续加载数据并完成设置阶段.

在此先感谢您的回复.

data-binding constructor onload viewmodel mvvm-light

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

window.onload vs document.ready jQuery

我有一个有两列的网站.我希望在使用jQuery时都有相同的高度.

我正试图获得徽标列高度.我有:

$(document).ready(function() {
    alert($('#logo').height());
});?
Run Code Online (Sandbox Code Playgroud)

它不起作用.所以我改成了:

window.onload = function(){
    alert($('#logo').height());
}
Run Code Online (Sandbox Code Playgroud)

它正在发挥作用.这里发生了什么?

jquery document window onload ready

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

jQuery如何让图像在加载时淡入?

我想做的就是在页面加载时淡化我的徽标.我今天是jQuery的新手,我无法在负载上设法淡出请帮忙.对不起,如果这个问题已经得到解答,我已经看了一眼,并尝试针对不同的问题调整其他答案,但似乎没有任何工作,它开始让我感到沮丧.

谢谢.

码:

<script type="text/javascript">                                         
$(function () {
.load(function () {
      // set the image hidden by default    
      $('#logo').hide();.fadeIn(3000);
                                }}                     
 </script>                
    <link rel="stylesheet" href="challenge.css"/>  
<title>Acme Widgets</title>         
  </head>     
  <body> 
     <div id="wrapper"> 
     <div id="header">
     <img id="logo" src="logo-smaller.jpg" /> 
     </div>
      <div id="nav">
      navigation
     </div>
      <div id="leftCol">
      left col
     </div>
      <div id="rightCol">
        <div id="header2">
        header 2
        </div>
        <div id="centreCol">
        body text
        </div>
        <div id="rightCol2">
        right col
        </div>
     </div>
     <div id="footer">
     footer
     </div>
     </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

jquery onload fadein

23
推荐指数
6
解决办法
13万
查看次数

Jquery .ready()vs window.onload

在window.onload上使用Jquery ready()函数有什么好处吗?

// Jquery ready
$(document).ready(function() {

});

// window.onload
window.onload = function () {

}
Run Code Online (Sandbox Code Playgroud)

javascript jquery onload

22
推荐指数
1
解决办法
6万
查看次数

如何在每个组件完成加载后在Angular 2中运行jquery函数

我已经尝试了所有生命周期钩子但无法完成所需的结果.我需要的结果是在加载这些元素(组件)中的每一个之后触发一个函数,该函数初始化用于单个页面上的不同元素的许多jquery插件.

所以我们说你有这种结构.

主页滑块小部件产品旋转器..等等

这些元素中的每一个都有自己的组件,并且都是主页父组件的子组件.

我需要的是知道所有子组件和父组件何时被加载,所以我触发一个jquery函数来初始化页面上的每个插件.

jquery components onload document-ready angular

22
推荐指数
3
解决办法
3万
查看次数

什么html标签支持onload/onerror javascript事件属性?

我熟悉它的典型用法onload,如下所示:

<body onload="alert('Hello, World!');">
...
</body>
Run Code Online (Sandbox Code Playgroud)

触发加载事件的所有html元素是什么?(从而执行onload属性中提供的javascript)

例如,img是一个这样的标记,它将在加载onload时执行属性中提供的javascript some.png:

<img onload="someImgLoaded()" src="some.png" />
Run Code Online (Sandbox Code Playgroud)

html javascript html5 onload onerror

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