[javascript] veranderen onclick van een element

Pagina: 1
Acties:

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 10:39

Schonhose

Retro Icoon

Topicstarter
Met behulp van een javascriptje laat ik een div verschijnen en weer verbergen. Dit werkt uitermate goed.

De gebruiker ziet een divje met daarin de tekst "Open". Wanneer hij daar op drukt wil ik graag de inhoud van de div veranderen naar "Close" (dit is gelukt) en het bijbehorende onclick event ook veranderen.

Wat heb ik tot nu toe allemaal gedaan?

Met behulp van
JavaScript:
1
objDiv.innerHTML = "Close";

kan ik de HTML aanpassen die in het objDiv staat.

Voor het aanpassen van de onclick event dacht ik dit simpel te doen door
JavaScript:
1
objDiv.onclick = "alert('Woei');";

maar dit werkt dus niet. Ook het verwijderen van de "" heeft geen zin omdat de actie dan 1x wordt uitgevoerd.

Hoe kan ik nu toch de onclick event laten aanpassen (dusdanig dat deze blijft bestaan)?

[ Voor 8% gewijzigd door Schonhose op 12-01-2005 09:07 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 10:29
Je kunt het zo doen:
JavaScript:
1
2
3
4
5
6
7
objDiv.onclick = function() { alert('woei!'); }

// of zo:
function doWoei() {
    alert('woei!');
}
objDiv.onclick = doWoei;

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Waarom zou je de onclick willen veranderen? Je kan je actie toch ook afhankelijk maken van de inhoud van je element?
code:
1
onclick="this.firstChild.nodeValue=this.firstChild.nodeValue=='Close'?'Open':'Close'"

Intentionally left blank


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 10:39

Schonhose

Retro Icoon

Topicstarter
crisp schreef op woensdag 12 januari 2005 @ 11:38:
Waarom zou je de onclick willen veranderen? Je kan je actie toch ook afhankelijk maken van de inhoud van je element?
code:
1
onclick="this.firstChild.nodeValue=this.firstChild.nodeValue=='Close'?'Open':'Close'"
Ik heb twee functies: een voor het openklappen van de div en een voor het sluiten. Deze worden aangeroepen via OnClick. Na het openen verander ik deze naar de sluitfunctie

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

En als je nu gewoon kijkt of die open of dicht is en afhankelijk daarvan hem opent of sluit :?

Lijkt me een stuk eenvoudiger en netter.

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 10:39

Schonhose

Retro Icoon

Topicstarter
* Schonhose slingert even google aan in de hoop te kunnen ontdekken hoe dat werkt.

Javascript is niet mijn sterkste kant :o Ik kan beter PHP-en ;)

[ Voor 13% gewijzigd door Schonhose op 12-01-2005 13:16 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005

Pagina: 1