skapa onMouseOver i efterhand?

JavaScript

2 svar · 232 visningar · startad av catalina76

Medlem sedan mars 200256 inlägg
Trådstart#1

Jag undrar om det är möjligt att i efterhand skapa onMOuseOver-händelser.

Mitt bekymmer är följande:

Jag har en trädmeny som har skapats via en komponent i vårat utvecklingsverktyg. Där finns ingen möjlighet att sätta events på hrefen. Dvs koden till min trädmeny skapas av verktyget och när min jspsida körs så skapas dynamiskt javascriptkod för menyn.

Så jag skulle vilja få till en liten javascriptsnurra som i efterhand sätter onMouseOver-event på mina hrefar.

För att försöka få till ett enkelt exempel på vad jag verkligen vill:

Ex.
<A HREF="minsida.html"></A>

<SCRIPT LANGUAGE="JavaScript">
Om href = "minsida.html" då
onMouseOver="test();"
</SCRIPT>

Hoppas ni förstår vad jag menar!

Medlem sedan juni 20004 308 inlägg
#2
<script type="text/javascript">
var onmouseoverevents=[
	{ href:"http://www.dindomän.se/minsida.html", event:"alert('Här händer det saker 1');" },
	{ href:"http://www.dindomän.se/annansida.html", event:"alert('Här händer det saker 2');" },
	{ href:"http://www.dindomän.se/ytterligareannansida.html", event:"alert('Här händer det saker 3');" }
]
window.onload=function(){
	var links=document.getElementsByTagName("a");
	for(var a=0;a<links.length;a++){
		for(var i in onmouseoverevents){
			if(onmouseoverevents[i].href == links[a].href){
				links[a].onmouseoverCode=onmouseoverevents[i].event;
				links[a].onmouseover=function(){
					eval(this.onmouseoverCode);
				}
			}
		}
	}
}
</script>

<a href="minsida.html">länktext</a>
<a href="annansida.html">länktext</a>
<a href="ytterligareannansida.html">länktext</a>

Observera att när du definierar href i början av scriptet är det absolut url som gäller (hela adressen).

Medlem sedan mars 200256 inlägg
#3

Tusen tack

Precis vad jag sökte efter!

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)