我在包含其他调用函数的脚本中使用window.onload
window.onload = function() {
maxHeight_main_column();
...
}
并在head标签中添加了我的脚本
在正文中我添加了来自其他网站的新脚本再次使用window.onload,我的window.onload工作正常,但是第二个window.onload不起作用,我怎么解决这个问题?
我无法使用window.onlad
编辑第二个文件答案 0 :(得分:5)
只能为window.onload
分配一个功能。但是,您可以拥有多个侦听同一事件的事件侦听器。
// cross browser way to add an event listener
function addListener(event, obj, fn) {
if (obj.addEventListener) {
obj.addEventListener(event, fn, false); // modern browsers
} else {
obj.attachEvent("on"+event, fn); // older versions of IE
}
}
addListener('load', window, myFunc1); // you can have multiple ones of these
addListener('load', window, myFunc2); // you can have multiple ones of these
window.onload = myFunc3; // one and only one of these
有关详细信息,请参阅MDN doc on addEventListener。
在您的特定情况下,您可以将此代码用于onload处理程序,让另一个使用window.onload
:
// cross browser way to add an event listener
function addListener(event, obj, fn) {
if (obj.addEventListener) {
obj.addEventListener(event, fn, false); // modern browsers
} else {
obj.attachEvent("on"+event, fn); // older versions of IE
}
}
addListener('load', window, function() {
maxHeight_main_column();
...
});
答案 1 :(得分:1)
您可以使用下一个函数添加多个onLoad
侦听器(从here复制):
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
答案 2 :(得分:-5)
包含jQuery并使用它:
$(document).ready(function() {
maxHeight_main_column();
})