---
title: "Skicka in funktion till funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/121704-skicka-in-funktion-till-funktion/page2"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Web-Tor"
published: "2005-02-04T09:50:20.000Z"
updated: "2005-09-22T06:21:06.000Z"
replies: 28
views: 1731
page: 2
pages: 2
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/121704-skicka-in-funktion-till-funktion"
---

# Skicka in funktion till funktion

_Sida 2 av 2._

## #21 — Web-Tor, 2005-09-21T12:20Z

Om en tag har *class="disabled"* så ska funktionerna som ligger i onclick inte köras.

Jag skulle ju kunna kolla detta i respektive funktion men då skulle jag bli tvungen att ändra i alla existerande funktioner och i alla framtida funktioner.

Din kod ser ut att funka. :)
Dessvärre följer den ju inte riktigt samma mönster som en "vanligt" anrop så om ja ginte hittar något bättre så måste jag ändra på ganska många sidor. :(

Det här kanske går att lösa på något helt annat sätt? Jag vill bara inte ändra på alla funktioner på hela sidan och helst inte behöva ändra på sättet som variablerna skickas till funktionerna. D.v.s:
*bar(this, object, 'var')* o.s.v...

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

## #22 — Peter S, 2005-09-21T13:31Z

Du kan ju loopa igenom samtliga element och sätta onclick = null på de som är *disabled*. Då hindras de från att anropa funktioner i det attributet.

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

## #23 — Web-Tor, 2005-09-21T14:01Z

Problemet är bara knapparna kan disablas/enablas i olika funktioner runt om i systemet och då skulle även dom funktionernabehövas byggas. ;)

Men om vi backar några steg; gör det att komma åt innehållet i ett objekt som av typen *\[object Object\]*?

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

## #24 — Peter S, 2005-09-21T16:00Z

"Innehållet" i ett \[object Object\] är ingenting annat än vad objektet Object har att erbjuda. \[object Object\] är vad nämnd objekts toString()\-metod returnerar.

Du kan utöka "klassen":

```
Object.prototype.p = function(){return 3.14;}

function bar(obj){
    alert(obj.p());
}
```

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

## #25 — nitro2k01, 2005-09-21T16:26Z

Det är inte hela sanningen. Alla användarskapade objekt skickar tillbaka \[object Object\] i toString som default, även om du har förlängt klassen, t ex:

```
<script type="text/javascript">
function TestClass(){
}
TestClass.prototype.something = function(){};

alert(new TestClass())

</script>
```

Denna kod alertar \[object TestClass\] som man kan tro (om man inte förlänger toString förstås) Dock har mozilla den goda smaken att returnera klassnamn på inbyggda klasser, t ex \[object HTMLDivElement\], medan IE inte ens gör det. Alltså har du i IE ingen aning om vilken sorts objektdet är frågan utifrån strängvärdet det returnerar.

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

## #26 — Web-Tor, 2005-09-21T16:30Z

Men kan man komma åt egenskaperna i *\[object Object\]*?

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

## #27 — nitro2k01, 2005-09-21T16:40Z

> **Web-Tor skrev:**
>
> Men kan man komma åt egenskaperna i *\[object Object\]*?

Svar ja, men du måste syfta på rätt objekt. Min punkt är att detta kan vara svårt att göra rätt pga IE's "dåliga" beskrivning av objekt.
Pröva detta då:

```
<script>
function execute(){
	if(arguments[1].className.indexOf("disabled")==-1){
	var i = arguments.length;
		arguments[0](arguments[1])
	}
}

function foo(){
alert("foo")

}

function bar(obj){
alert("bar: "+obj)
}
</script>

<div class="disabled" onclick="execute(function(){foo();bar(this)}, this);">Kör foo och bar disabled</div>
<div onclick="execute(function(){foo();bar(this)}, this);">Kör foo och bar</div>
```

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

## #28 — RGB, 2005-09-21T17:19Z

> **Web-Tor skrev:**
>
> Om en tag har *class="disabled"* så ska funktionerna som ligger i onclick inte köras.

Någon anledning till att följande inte är ett hyfsat alternativ?

```
onclick="if(className=='disabled')return; foo();bar(this)"
```

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

## #29 — Web-Tor, 2005-09-22T06:21Z

> **RGB skrev:**
>
> Någon anledning till att följande inte är ett hyfsat alternativ?

Jag visste väl att det fanns ett helt annat sätt att se på det här! :)

Nackdelen är att det blir mer kod i HTML-filerna istället för i JS-filen men det känns som att jag kan leva med just nu.

Markerar ditt svar som lösningen men är det någon som har fler idéer så är dom välkomna. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/121704-skicka-in-funktion-till-funktion/page2  
Föregående sida: https://www.webforum.nu/amne/javascript/121704-skicka-in-funktion-till-funktion.md
