当您需要在页面加载时触发多个函数时,您可以使用下面这样的方法来处理:
function myfunction() {
alert('My function!');
}
function pctaddLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
pctaddLoadEvent(myfunction);http://jsfiddle.net/SSEhr/
如果您使用pctaddLoadEvent函数来触发您需要触发的函数,则可以很好地工作。但是,如果这段代码打算使用外部JS文件插入到不同的页面上,我需要记住我的代码的健壮性,假设某人在他们的网站中包含了theexamplecode.js,但他们的web页面上也有一些javascript,并且他们具有以下内容:
window.onload = function() {
alert('user function');
//and some other user functions
}这会破坏我的代码,因为您可以看到here。
所以简而言之,我如何在不考虑最终用户函数的情况下启动我的函数onload?
PS。我不能使用jquery。
发布于 2013-05-14 17:35:22
我认为这个问题可以通过使用函数的命名空间来解决,试试javascript namespacing
https://stackoverflow.com/questions/16539635
复制相似问题