Har en funktion i min javascriptsfil som ser ut så här
mouseDown:function(ev, id, state)
{
var ev = arguments[0] || window.event;
var target = ev.target || ev.srcElement;
blaha blaha...
Den vill jag anropa ifrån en annan funktion genom fölljande kod som jag har nu
db.moveElement = db.mouseDown(event, db.elementID, +''+db.newState+'');
Problemet är att jag inte får event definerat och självfallet ett javascriptfel. Något som vet hur jag kan skicka med ett event?
Jag måste ha event och this funkar inte funktionen db.mouseDown. Varför orkar jag inte förklara men så är det i.a.f.
stattinMedlem sedan jan. 2005713 inlägg men till och börja med så borde det väll räcka med att skriva:
db.moveElement = db.mouseDown(event, db.elementID, db.newState);
eller?
stattin skrev:
men till och börja med så borde det väll räcka med att skriva:
db.moveElement = db.mouseDown(event, db.elementID, db.newState);
eller?
Nej eftersom javascriptkompliatorn säger att event måste vara definerat. Event är ju inget precis! Det är ju först när man håller ner knappen på db.moveElement som event får ett värde.
SebastianE skrev:
db.moveElement = db.mouseDown(event, db.elementID, +''+db.newState+'');
Felet du gör är att du kör funktionen db.mouseDown och sedan tilldelar db.moveElement returvärdet, som är undefined eftersom db.mouseDown inte returnerar något. Eller med andra ord, du gör helt fel. Dessutom har du ett fult syntaxfel vid sista argumentet till funktionen.
Detta är nog vad du är ute efter:
db.moveElement = function(event, id, state){
return db.mouseDown(event, id, state);
}
Eller något åt det hållet.