---
title: "Varför Opera, varför? - problem med onClick"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/142549-varför-opera-varför-problem-med-onclick"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "learn"
published: "2006-02-15T17:52:54.000Z"
updated: "2006-02-15T20:01:29.000Z"
replies: 4
views: 288
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/142549-varför-opera-varför-problem-med-onclick"
---

# Varför Opera, varför? - problem med onClick

## #1 — learn, 2006-02-15T17:52Z

Jag använder nedanstående skript för att tilldela divar några events.

```
function menyn() {
	var meny = document.getElementsByTagName('div');
	for (i=0;i<meny.length;i++) {
		meny[i].onclick = function(){ document.location.href="?link=hej";};
		meny[i].onmouseover = function(){this.style.backgroundImage="url('meny_over.gif')";};
		meny[i].onmouseout = function(){this.style.backgroundImage="url('meny_out.gif')";};
	}
}
```

Allt funkar bra i FF och IE, men i Opera blir det knas och sidan "?link=hej" körs automatiskt om och om igen i all evighet utan att jag ens klickar...! 

Varför vill Opera göra så här?

R: Hmm, nu funkar det visst, aja..   :r

Permalänk: https://www.webforum.nu/p/142549

## #2 — learn, 2006-02-15T18:25Z

Däremot så funkar inte om jag lägger href:en i en separat funktion, som följande:

```
function menyClick() {
	document.location.href="?link=hej";
}

function menyn() {
	var meny = document.getElementsByTagName('div');
	for (i=0;i<meny.length;i++) {
		meny[i].onclick = function(){ menyClick();};
		meny[i].onmouseover = function(){this.style.backgroundImage="url('meny_over.gif')";};
		meny[i].onmouseout = function(){this.style.backgroundImage="url('meny_out.gif')";};
	}
}
```

Då kör Opera funktionen om och om igen utan att jag klickar!!! Funkar som sagt fint i FF och IE.

Permalänk: https://www.webforum.nu/p/1768508

## #3 — learn, 2006-02-15T19:08Z

Aja, jag släpper det där ett tag. Om jag nu kör enligt den första koden och vill ha ut varje objekts id-nummer bifogat i href:en, hur skall jag göra. Detta funkar inte:

```
function menyn() {
	var meny = document.getElementsByTagName('div');
	for (i=0;i<meny.length;i++) {
var link = "?link="+meny[i].id;
		meny[i].onclick = function(){ document.location.href=link;};
		meny[i].onmouseover = function(){this.style.backgroundImage="url('meny_over.gif')";};
		meny[i].onmouseout = function(){this.style.backgroundImage="url('meny_out.gif')";};
	}
}
```

Med ovanstående kod blir alla href likadana (det sista elementets id). Hur ska jag göra?

Tack för er hjälp på förhand!

Permalänk: https://www.webforum.nu/p/1768523

## #4 — Peter S, 2006-02-15T19:44Z

```
location.href = "?link=" + this.id
```

Permalänk: https://www.webforum.nu/p/1768526

## #5 — learn, 2006-02-15T20:01Z

Tack Peter, det funkar! Trodde jag hade testat det själv, men men.

Kan passa på att fråga. Kan jag med säkerhet bygga en meny på ovanstående sätt, och strunta i href:en på själva länken? Jag menar, det finns väl dem som har javascript avstängt på sin browser och därmed inte kan använda menyn..??

Permalänk: https://www.webforum.nu/p/1768534

---

Tråden på webben: https://www.webforum.nu/amne/javascript/142549-varför-opera-varför-problem-med-onclick
