jQuery中的window.onload

时间:2012-02-01 12:25:58

标签: jquery

我使用了sizzle的例子,在最后一段代码中我得到了window.onload。

这意味着什么。

我的代码是这样的:

var init = function () {
    var trail = Sizzle;
    var foo = trail('.foo');
    foo[0].onmouseover = function () {
        this.style.backgroundColor = (this.style.backgroundColor.indexOf('blue') === 0) ? 'yellow' : 'blue';
    };
    foo[1].onmouseover = function () {
        this.style.backgroundColor = (this.style.backgroundColor.indexOf('red') === 0) ? 'yellow' : 'red';
        jQuery(foo[1]).after("<b>Hello</b>");
    }
    foo[2].onmouseover = function () {
        this.style.backgroundColor = (this.style.backgroundColor.indexOf('green') === 0) ? 'yellow' : 'green';
        jQuery(foo[3]).toggle("slow");
        jQuery('b').remove();
    }
};
window.onload = init;

这是什么意思?

2 个答案:

答案 0 :(得分:6)

这意味着您要设置init函数来处理文档的onload事件。当页面中的所有内容都已加载时,将调用init函数。

当您使用jQuery时,您应该使用jQuery事件。 DOM事件只能有一个处理程序(除非你编写代码来链接处理程序),但jQuery事件可以有多个处理程序:

$(document).load(init);

如果页面中有多个使用onload事件的脚本,则会替换另一个脚本。即使你使用jQuery事件,连接DOM事件的脚本也会接管jQuery事件处理程序,就像在this question中一样。在所有脚本中使用jQuery事件解决了这个问题。

答案 1 :(得分:2)

这意味着在窗口加载时将执行function init