Javascript Events og Objekter vil ikke sammen
Hej eksperter.. jeg har et mindre problem.Det er sådan at jeg har prøvet og lavet en event starter igennem et objekt jeg har lavet.
function DropDownAjax()
{
this.lastvalue = "";
this.currentvalue = "";
this.onChangeEvent = function(id,callback,type,thiselement)
{
if(type == "onkeyup")
{
document.getElementById(id).onkeyup = function(){
thiselement.lastvalue = thiselement.currentvalue;
thiselement.currentvalue = document.getElementById(id).value;
callback();
};
}
else if(type == "onchange")
{
document.getElementById(id).onchange = function(){
thiselement.lastvalue = thiselement.currentvalue;
thiselement.currentvalue = document.getElementById(id).value;
callback();
};
}
}
}
det bliver så initializeret med
dropdown = new DropDownAjax();
dropdown.onChangeEvent("search",function()
{
document.getElementById("myDiv").innerHTML = "Last Value: "+ dropdown.lastvalue +"<br>Current Value: "+dropdown.currentvalue;
if(dropdown.lastvalue != dropdown.currentvalue)
{
xmlhttp1.GetData("test.php",function()
{
if (xmlhttp1.readyState()==4 && xmlhttp1.status()==200)
{
//document.getElementById("myDiv").innerHTML=xmlhttp1.responseXML();
}
});
}
},"onkeyup",dropdown);
Det virker også helt perfekt... problemet er så at jeg er nød til og lave en referance for objektet igennem min methode, da de callbacks jeg laver ikke har adgang til "this"... det gør mig nu ikke så meget, da jeg godt forstår javascripts snøvlede event handlers, på den måde... men det er så mere, om man kunne lave en referances på en "stealth" agtig måde, så man f.eks kunne gøre det automatisk?
håber nogen har svar :)
