Avatar billede hoppe11 Nybegynder
16. december 2010 - 16:30 Der er 6 kommentarer og
1 løsning

is not a function?

jeg har et lille script her.. får at vide at r() ikke er en funktion, men når jeg alerter typeof får jeg 'function' ?!

function ANIM(){
    function moveXY(){
        this.innerHTML = 'hej verden';
    }
    //moveXY.prototype.tst = moveXY;
   
    (function(_this){
        _this.moveXY = moveXY;
    })(this);
}
ANIM = new ANIM();
r = ANIM.moveXY;
alert(typeof r);
document.body.r();
Avatar billede erikjacobsen Ekspert
16. december 2010 - 16:45 #1
Hvorfor så ikke bare kalde den. Erstat
  document.body.r();
med
  r();
Avatar billede hoppe11 Nybegynder
16. december 2010 - 17:19 #2
jamen vil gerne lave funktionen så man kan gøre som følgende:

document.body.r();

har prøvet at rode lidt med noget prototype, men det er ikke rigtig lykkedes
Avatar billede jokkejensen Novice
16. december 2010 - 17:45 #3
hvad med window.r() ?

funktionen eksistere i hvert fald ikke på document.body .
Avatar billede hoppe11 Nybegynder
16. december 2010 - 17:47 #4
det er det jeg siger.. har forsøgt at rode med noget prototype for at få det til at virke, men uden held :)

håbede på at en eller anden kunne hjælpe.. så man bla. kan lave custom objekter osv
Avatar billede erikjacobsen Ekspert
16. december 2010 - 19:50 #5
Hmm, på den måde ... men så skal du vel:

document.body.r = ANIM.moveXY;
alert(typeof r);
document.body.r();
Avatar billede hoppe11 Nybegynder
17. december 2010 - 08:55 #6
kan man ikke lave den lidt mere generel? tænker på så man ikke skan specificere præcis på hvilket element den skal eksekveres på?

document.body.r = ANIM.moveXY;
Avatar billede hoppe11 Nybegynder
18. december 2010 - 11:59 #7
lukker

det er vel også bare en besværlig måde at gøre det på
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester