Vraag & Antwoord

Webprogrammeren & scripting

[JS] onClick en parameters?

4 antwoorden
  • Het zal vast heel simpel zijn, maar ik krijg het niet voor elkaar... Ik wil een link maken die zichzelf kan aanpassen. Als je op de link klikt moet (o.a.) de tekst veranderen van "Tonen" in "Verbergen". Is er nu een manier om te weten welke link de onClick-event-handler aanroept? [code:1:8d80ef2efa]self.innerHTML = "bla";[/code:1:8d80ef2efa] Het bovenstaande werkt niet, in onClick noch href. Ik dacht ooit iets gelezen te hebben waarin stond dat event-handlers een parameter meekrijgen met daarin een verwijzing naar het object waardoor het wordt aangeroepen, maar ik kan dit nergens op internet terugvinden... [code:1:8d80ef2efa]javascript:(function(e){alert(e)})()[/code:1:8d80ef2efa] Dit resulteert bij het klikken op de link in een melding van "undefined", zowel bij onClick als bij href. Heeft iemand enig idee hoe de initiator van een functie te achterhalen is? Iedereen vast bedankt, Bas.
  • Laat maar, reeds [url=http://www.webreference.com/js/column9/eventobject.html]gevonden[/url]. :D [b:ae6c37a638]Edit:[/b:ae6c37a638] Het zal liggen aan het feit dat ik al de hele dag naar een beeldscherm zit te staren, maar ik kom er echt niet uit. Nu wil ik dat het beeld van de browser niet "naar boven springt" na het aanklikken van de link. Kon je dan niet gewoon "return false" achter alles plakken? Hoe dan ook, ik krijg het niet aan de praat... In een extern JS-bestand staat dit:[code:1:ae6c37a638] var docHead = document.getElementsByTagName("head")[0]; var docHeadScript = document.createElement("script"); docHeadScript.innerHTML = 'function changeState(e){'; docHeadScript.innerHTML += ' e.target.innerHTML = "Woohoo!";'; docHeadScript.innerHTML += ' return false;'; docHeadScript.innerHTML += '}'; docHead.appendChild(docHeadScript); [/code:1:ae6c37a638]Vervolgens staan er in mijn HTML-pagina een aantal links:[code:1:ae6c37a638]<a onclick='changeState(event)' href='#'>Lukt dit?</a>[/code:1:ae6c37a638]Op zich werkt de code prima, de tekst verandert netjes in "Woohoo!", maar de pagina springt de hele tijd naar boven... Wat doe ik fout? - Bas.
  • maak van die # eens een javascript:void(0). :) t.
  • [quote:e658e6ce8a="BasHamar"] Ik wil een link maken die zichzelf kan aanpassen. Als je op de link klikt moet (o.a.) de tekst veranderen van "Tonen" in "Verbergen". Is er nu een manier om te weten welke link de onClick-event-handler aanroept? [code:1:e658e6ce8a]self.innerHTML = "bla";[/code:1:e658e6ce8a] [/quote:e658e6ce8a][code:1:e658e6ce8a] <a href="no-js.htm" onclick="this.innerHTML='bla'; return false;">Dit is een link</a>[/code:1:e658e6ce8a] Geen # ; javascript:void(); of andere onzin gebruiken als link. [quote:e658e6ce8a="BasHamar"] Het bovenstaande werkt niet, in onClick noch href. Ik dacht ooit iets gelezen te hebben waarin stond dat event-handlers een parameter meekrijgen met daarin een verwijzing naar het object waardoor het wordt aangeroepen, maar ik kan dit nergens op internet terugvinden... [code:1:e658e6ce8a]javascript:(function(e){alert(e)})()[/code:1:e658e6ce8a] Dit resulteert bij het klikken op de link in een melding van "undefined", zowel bij onClick als bij href. Heeft iemand enig idee hoe de initiator van een functie te achterhalen is?[/quote:e658e6ce8a] [code:1:e658e6ce8a] <script type="text/javascript" language="javascript"> <!-- function myfunction(e) { alert(e); // geeft "object" terug ofzo. e.innerHTML='bla'; e.onclick=null; e.href='http://www.google.nl/'; } // --> </script> <a href="onzin-link.htm" onclick="myfunction(this); return false;">Dit is een link</a> [/code:1:e658e6ce8a]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.