Ik ben wat aan het spelen met Javascript, maar loop nu tegen een probleem aan. Bij het aanroepen van functies moeten deze functies gequoteerd worden. Hieronder staat een voorbeeld met een setInterval():
Nu is het op deze manier echter onmogelijk om parameters aan de functie mee te geven. Nu heb ik lopen Googlen en kwam ik rare constructies tegen waarbij je door met de quotes te spelen het wel werkend zou moeten kunnen krijgen, maar dat bleek toch niet te werken. Daarna kwam ik een voorbeeld tegen, waarbij de functie op de volgende manier in het bovenstaande voorbeeld zou worden verwerkt:
Vol blijdschap kon ik zien dat de bovenstaande aanroep werkt (ook als ik er parameters bij invoer). Dit werkt echter niet als ik het bij een onclick op de volgende manier implementeer (de gelijkwaardige aanroep m.b.v. de quotes werkt echter wel):
Kan iemand mij vertellen wat hier niet aan klopt? Ik vermoed dat het komt doordat ik Javascript buiten de script-tags gebruik, maar ik zou niet weten hoe ik het anders kan oplossen. Een alternatief zou ik dus ook erg waarderen. Hierbij snap ik eigenlijk niet hoe de code 'function(){*naam van de functie*}' werkt en zou ik het dus ook erg op prijs stellen als iemand mij dit zou kunnen toelichten. Natuurlijk heb ik hier zelf ook al over nagedacht. Het meest logische lijkt mij dat er een naamloze functie wordt aangeroepen die dan weer de eigenlijk bedoelde functie aanroept. Als dit het geval is, lijkt het mij stug dat dit de beste/mooiste oplossing is. Het klinkt namelijk als een goedkope work-around.
Devilly
JavaScript:
1
| window.setInterval("ik.changeWidth()", 100); |
Nu is het op deze manier echter onmogelijk om parameters aan de functie mee te geven. Nu heb ik lopen Googlen en kwam ik rare constructies tegen waarbij je door met de quotes te spelen het wel werkend zou moeten kunnen krijgen, maar dat bleek toch niet te werken. Daarna kwam ik een voorbeeld tegen, waarbij de functie op de volgende manier in het bovenstaande voorbeeld zou worden verwerkt:
JavaScript:
1
| window.setInterval(function(){ik.changeWidth()}, 100); |
Vol blijdschap kon ik zien dat de bovenstaande aanroep werkt (ook als ik er parameters bij invoer). Dit werkt echter niet als ik het bij een onclick op de volgende manier implementeer (de gelijkwaardige aanroep m.b.v. de quotes werkt echter wel):
JavaScript:
1
| <input type = "button" id = "input" value = "Druk hier!" onclick = function(){ik.changeWidth()};> |
Kan iemand mij vertellen wat hier niet aan klopt? Ik vermoed dat het komt doordat ik Javascript buiten de script-tags gebruik, maar ik zou niet weten hoe ik het anders kan oplossen. Een alternatief zou ik dus ook erg waarderen. Hierbij snap ik eigenlijk niet hoe de code 'function(){*naam van de functie*}' werkt en zou ik het dus ook erg op prijs stellen als iemand mij dit zou kunnen toelichten. Natuurlijk heb ik hier zelf ook al over nagedacht. Het meest logische lijkt mij dat er een naamloze functie wordt aangeroepen die dan weer de eigenlijk bedoelde functie aanroept. Als dit het geval is, lijkt het mij stug dat dit de beste/mooiste oplossing is. Het klinkt namelijk als een goedkope work-around.
Devilly