webForumDet fria alternativet

Flera window.onload

5 svar · 374 visningar · startad av stattin

stattinMedlem sedan jan. 2005500 inlägg
#1

Hej!

En snabb fråga, om jag sätter ut mer än 1 window.onload=function() på en och samma sida så krockar dom ju med varann, kan man på något sätt sätta mer än 1 på något vis?

AddeladdeMedlem sedan jan. 20012 997 inlägg
#2

Det är väl bara lägga all kod innanför den av det som ska göras

stattinMedlem sedan jan. 2005500 inlägg
#3

iofs!.. men koderna ligger på olika ställen i dokumentet.

stattinMedlem sedan jan. 2005500 inlägg
#4

Äh jag löste det ändå.

Satte en function som anropas i det andra scriptet när sidan laddat klart.

Men det kan ju ändå vara intressant och höra om det finns en lösning på det hela.

Trevlig sommar!

nitro2k01Medlem sedan aug. 20037 630 inlägg
#5

Det gör det. Men du måste använda functionerna attachEvent resp addEventListener, som bara finns i IE och Gecko-baserade läsare, respektive. Så här är en enkel metod för att utföra "object detection" för att se vad som apssar den webbläsare som besökaren fråga använder.

<script type="text/javascript">

function addEvent(obj, evt, fun){
	if ('object' == typeof obj.attachEvent)
		obj.attachEvent('on'+evt, fun);
	else
		obj.addEventListener(evt, fun, false);
}

function f1(){
	alert("load 1");
}

function f2(){
	alert("load 2");
}

addEvent(window, 'load', f1);
addEvent(window, 'load', f2);
</script>

Notera dock att i IE så körs funktionerna i motsatt ordning mot hur de knöts ihop med eventet. (I detta fall körs alltså f2 först.)

stattinMedlem sedan jan. 2005500 inlägg
#6

så med andra ord var min egna lösning bättre?

Tack ändå!

red/ gaah slarva bort hela scriptet, börja om från början.. börja om på nytt x(

Genererad på 367 ms · cache AV · v20260730165559-full.f96bc7eb