我正在使用两个函数,一个来自此站点http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/,其使用函数调用如下:
window.onload = Custom.init;
之后我正在使用其他函数调用
window.onload = function() {...
第二个是杀死第一个! 如何在第二个上修改或进行不同的呼叫,以便它们可以一起工作?
答案 0 :(得分:4)
使用addEventListener / attachEvent。你可以使用一个抽象它的库,比如jQuery:
$(window).load(function () {
// run code
});
这可以使用不同的功能多次运行而不会出现问题。
答案 1 :(得分:2)
window.onload = function() {
Custom.init();
// ...
};
答案 2 :(得分:0)
您必须创建自己的函数,并将它们都调用。
window.onload = function(){
Custom.init();
function() { ... }
}
答案 3 :(得分:0)
我对此的偏好是:
loadFunctions = [];
window.onload = function() {var x; while(x = loadFunctions.shift()) x();};
然后,我没有设置window.onload
,而是:
loadFunctions.push(function() {...});
当然,我可以这样做,因为我没有使用可能会干扰window.onload
的外部库。
编辑:如果你无法控制其中一个,你可以这样做:
var ool = window.onload;
window.onload = function() {
if( ool) ool();
// new code here
};
答案 4 :(得分:0)
手动拨打Custom.init
?
window.onload = function() {
Custom.init();
//your stuff
};
答案 5 :(得分:0)
所有onLoad事件处理程序的一个漂亮的小包装器怎么样?
window.onLoadHandlers = [];
window.onLoad = function() {
while (window.onLoadHandlers.length) {
window.onLoadHandlers.shift()();
}
};
然后将两个函数推送到该数组:
window.onLoadHandlers.push( Custom.init );
window.onLoadHandlers.push( function() { ...
您可以考虑使用jQuery或其他任何为此提供更好解决方案的库。