Hi,
hatte das Problem schon mal hier im Forum beschrieben, aber da es leider nicht gelöst werden konnte und ich schon wieder damit konfrontiert werde probiere ich es nochmal es mit eurer Hilfe zu lösen:
Ich will jeden Link in einer Navigation eine Funktion zuordnen und dabei da altbekannte onclick="tu_was_mit_mir(this);" umgehen, bzw intelligenter lösen, indem ich jeden Link einen Eventlistener zuordne. Brauch aber eine Refernz auf das aufrufende Element. Mit Browsern klappt this wunderbar, aber IE sagt mit mir in der Funktion switchIt bei alert(obj) das obj ein Objekt ist (oh welch Wunder...), die Style quittiert er aber mit Objekt Error....
Warum bloß und kennt einer einen Workaround?
hatte das Problem schon mal hier im Forum beschrieben, aber da es leider nicht gelöst werden konnte und ich schon wieder damit konfrontiert werde probiere ich es nochmal es mit eurer Hilfe zu lösen:
Ich will jeden Link in einer Navigation eine Funktion zuordnen und dabei da altbekannte onclick="tu_was_mit_mir(this);" umgehen, bzw intelligenter lösen, indem ich jeden Link einen Eventlistener zuordne. Brauch aber eine Refernz auf das aufrufende Element. Mit Browsern klappt this wunderbar, aber IE sagt mit mir in der Funktion switchIt bei alert(obj) das obj ein Objekt ist (oh welch Wunder...), die Style quittiert er aber mit Objekt Error....
Warum bloß und kennt einer einen Workaround?
PHP-Code:
window.onload = function(){
try{
var basisNode = document.getElementById("navi");
var links = basisNode.getElementsByTagName("a");
var currentLink = null;
for (var i=0; i<links.length; i++){
if(links[i].addEventListener){// echte Browser
links[i].addEventListener('click', function(evt) { switchIt(this); }, false);
}else if(links[i].attachEvent) {// für IE
links[i].attachEvent('onclick', function(evt){ switchIt(this); });
}
}
}catch(e){alert(e);}
}
function switchIt(obj){
try{
alert('wird aufgerufen' + obj);
obj.style.backgroundColor = "red";
}catch(e){alert(e);}
}
Kommentar