如何在Javascript中添加一个额外的window.onload事件 [英] How can I add an additional window.onload event in Javascript
问题描述
如果我的asp.net用户控件我添加一些脚本到window.onload事件,如下所示: (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(),onloadScriptName))
Page.ClientScript.RegisterStartupScript(this.GetType(),onloadScriptName,
window.onload = function(){myFunction );};,true);
我的问题是,如果onload事件中已经存在某些内容,则覆盖它。
如何让两个用户控件在每个执行javascript的onload事件?
**编辑:**感谢您的第三方信息库。我会记住他们
建议的大多数解决方案都是Microsoft特定的,或者需要blo肿的库。这是一个好办法。这适用于符合W3C标准的浏览器和Microsoft IE。
if(window.addEventListener)// W3C standard
{
window.addEventListener('load',myFunction,false); // NB ** not **'onload'
}
else if(window.attachEvent)// Microsoft
{
window.attachEvent('onload',myFunction);
}
In my asp.net User Control I'm adding some script to the window.onload event like so:
if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), onloadScriptName))
Page.ClientScript.RegisterStartupScript(this.GetType(), onloadScriptName,
"window.onload = function() {myFunction();};", true);
My problem is, if there is already something in the onload event, than this overwrites it. How would I go about allowing two user controls to each execute javascript in the onload event?
**Edit:**Thanks for the info on third party libraries. I'll keep them in mind.
Most of the "solutions" suggested are Microsoft-specific, or require bloated libraries. Here's one good way. This works with W3C-compliant browsers and with Microsoft IE.
if (window.addEventListener) // W3C standard
{
window.addEventListener('load', myFunction, false); // NB **not** 'onload'
}
else if (window.attachEvent) // Microsoft
{
window.attachEvent('onload', myFunction);
}
这篇关于如何在Javascript中添加一个额外的window.onload事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!