Hi,
Ik kom er maar niet uit hoe ik de functie die ik in me settings meegeef moet uitvoeren met de nodige parameters. voor betere uitleg zie de code (wel in omgehakt om klein te houden):
Bvd, ik heb al enige tijd gegoogled maar ik heb geen flauw idee op wat voor termen ik moet zoeken aangezien ik niet weet hoe deze manier heet
--- Edit --
Na wat gefriemel kom ik op het volgende, wat wél werkt maar absoluut niet netjes is (in mijn ogen)
Dit zal ook alleen werken als de functie daadwerkelijk in dezelfde class zit, maar daar zou ik nog een kleine if statement om heen kunnen doen. Maar weet iemand een makkelijkere manier?
Ik kom er maar niet uit hoe ik de functie die ik in me settings meegeef moet uitvoeren met de nodige parameters. voor betere uitleg zie de code (wel in omgehakt om klein te houden):
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| var Validation = Class.create(); Validation.prototype = { initialize : function (form, errors, settings) { this.form = form; this.errors = errors; if (this.errors) this.raiseErrors(); }, raiseErrors : function () { /* hier wil ik dus naar de this.settings.userCallBack roepen, maar via eval werkt dit niet, en ik wil ook een aantal paramters er aan meegeven (3 stuks). Daarnaast kan de functie in deze class zitten maar kan er ook buiten zitten. */ }, setSettings : function (settings) { this.settings = { hasErrorClass : 'validation-error', userCallBack : 'test' } Object.extend(this.settings, settings || {}); }, /* mn custom callback functie */ test : function () { console.log('hallo'); } } |
Bvd, ik heb al enige tijd gegoogled maar ik heb geen flauw idee op wat voor termen ik moet zoeken aangezien ik niet weet hoe deze manier heet
--- Edit --
Na wat gefriemel kom ik op het volgende, wat wél werkt maar absoluut niet netjes is (in mijn ogen)
JavaScript:
1
| eval('this.'+this.settings.userCallBack+'' + '("' + e + '");'); |
Dit zal ook alleen werken als de functie daadwerkelijk in dezelfde class zit, maar daar zou ik nog een kleine if statement om heen kunnen doen. Maar weet iemand een makkelijkere manier?
[ Voor 14% gewijzigd door Hiemstra op 23-03-2009 13:50 ]
The future belongs to those who believe in the beauty of their dreams