Fügen Sie mehrere window.onload-Ereignisse hinzu
P粉555696738
P粉555696738 2023-08-22 18:09:32
0
2
358

In meinem ASP.NET-Benutzersteuerelement füge ich JavaScript-Code zum Ereignis window.onload hinzu:

if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), onloadScriptName)) Page.ClientScript.RegisterStartupScript(this.GetType(), onloadScriptName, "window.onload = function() {myFunction();};", true);

Mein Problem ist, dass dieser Code diesen überschreibt, wenn das Ereignis onload bereits vorhanden ist. Wie kann ich beiden Benutzersteuerelementen die Ausführung von JavaScript-Code im onload-Ereignis ermöglichen?

Herausgeber: Vielen Dank für die Informationen zu Bibliotheken von Drittanbietern. Ich werde mich erinnern.

P粉555696738
P粉555696738

Antworte allen (2)
P粉354602955

仍然有一种丑陋的解决方案(远不如使用框架或addEventListener/attachEvent)是保存当前的onload事件:

function addOnLoad(fn) { var old = window.onload; window.onload = function() { old(); fn(); }; } addOnLoad(function() { // 在这里编写你的代码 }); addOnLoad(function() { // 在这里编写你的代码 }); addOnLoad(function() { // 在这里编写你的代码 });

请注意,像jQuery这样的框架将提供一种在DOM准备就绪时执行代码的方法,而不是在页面加载时执行。

DOM准备就绪意味着你的HTML已经加载完成,但是外部组件(如图片或样式表)尚未加载完成,这使得你可以在加载事件触发之前被调用。

    P粉253518620

    大部分提出的“解决方案”都是针对Microsoft的,或者需要庞大的库。这是一个好的方法。它适用于符合W3C标准的浏览器和Microsoft IE。

    if (window.addEventListener) // W3C标准 { window.addEventListener('load', myFunction, false); // 注意 **不是** 'onload' } else if (window.attachEvent) // Microsoft { window.attachEvent('onload', myFunction); }
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!