alpe: Event Handler: Zugriff auf globale Variable

Beitrag lesen

Hi,

Für das Problem, dass ich die Variable im Event Handler plötzlich 'undefined' ist. Tippfehler hab ich schon mehrmals geprüft.

Bisschen schwer von Begriff?

MfG ChrisB

Menschens... ursprünglich war das sowas wie eine Ja / Nein Frage.
Hätte ja sein können, dass ein Zugriff dieser Art nicht geht weil Event Handler in sonst was für einem Kontext ablaufen, obwohl sie in der selben Script file stehen... Aber wie gesagt, dass hätte mich schwer verwundert.

Jedenfalls ist dem aber nicht so, da~~~html

<html>
<head>
<script type="text/javascript">[code lang=javascript]
var testvar="dumdidum";
function init_me() {
myspan = document.getElementById("span1");
myspan.onclick = myHandler;
}
function myHandler(evnt) {
alert(testvar);
}

		</script>  
	</head>  
	<body onload="init\_me()">  
		<span style="border:1px solid black;" id="span1">lala</span>  
	</body>  
</html>  
[/code]  
bestens funktioniert.  
  
~~~javascript
  
var cmpver="defAll";  
---snip---  
td.onclick=ver_setReference;  
  
function setReference(evnt) {  
  alert(cmpver);  
}  

Der Witz ist, dass wenn die Funktion nur so da steht auch funktioniert.

Bei vollständiger Funktion ists aber 'undefined' - selbst wenn der alert gleich als erstes ausgeführt wird.

Die vollständige Funktion sieht so aus und muss demnach irgendwo einen Fehler haben:

function ver_setReference(evnt) {  
	alert(cmpver);  
	var td=(util_isMozilla)?evnt.target:window.event.srcElement;  
	var oldCmpver = cmpver;  
	var cmpver = td.firstChild.nodeValue.replace(/\ \(set reference\)/,"");  
  
	var iframe = parent.document.getElementById("contents");  
	if(iframe) {  
		var attr = iframe.getAttribute("src");  
		iframe.setAttribute("src",attr.replace(oldCmpver,cmpver));  
	}  
	else {  
		var params = window.location.search;  
		//alert(oldCmpver+"  "+cmpver);  
		window.location.search=params.replace(oldCmpver,cmpver);  
	}  
}

MfG
alpe