我使用了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;
这是什么意思?
答案 0 :(得分:6)
这意味着您要设置init
函数来处理文档的onload
事件。当页面中的所有内容都已加载时,将调用init
函数。
当您使用jQuery时,您应该使用jQuery事件。 DOM事件只能有一个处理程序(除非你编写代码来链接处理程序),但jQuery事件可以有多个处理程序:
$(document).load(init);
如果页面中有多个使用onload
事件的脚本,则会替换另一个脚本。即使你使用jQuery事件,连接DOM事件的脚本也会接管jQuery事件处理程序,就像在this question中一样。在所有脚本中使用jQuery事件解决了这个问题。
答案 1 :(得分:2)
这意味着在窗口加载时将执行function init
。