Dani Düsentrieb: Ebene bei Mausklick Einblenden und an Mauskords rücken

Moin Leute

ich krieg hier noch die Matzeln! Ich habe im SelfHTML folgendes Script gefunden:

  
	<script type="text/javascript">  
		function getavailbility (Ereignis) {  
			if (!Ereignis)  
				Ereignis = window.event;  
	  
			if (document.getElementById) {  
				document.getElementById("popup").style.left  = Ereignis.clientX + "px";  
				document.getElementById("popup").style.top = Ereignis.clientY + "px";  
				document.getElementById("popup").style.visibility = "visible";  
			} else if (document.all) {  
				document.all.popup.style.left = Ereignis.clientX;  
				document.all.popup.style.top = Ereignis.clientY;  
			}  
		}  
	</script>  

Das Script hat noch eine Zeile unten dran die ich aber nicht brauche und zwar document.onmousedown = Mausklick;. Ich habe folgendes: <p onClick="getavailbility();">Test</p>! Nur kommt da Ereignis ist undefined! Warum? Bie der alten Funktion wurde doch Ereignis auch nicht mit übergeben. Ich hab auch schon das if umgeschrieben auf if( Ereignis == undefined)aber es will einfach nicht! Vielleicht gibts da auch noch was besseres mit den MooTools?

  1. ich krieg hier noch die Matzeln! Ich habe im SelfHTML folgendes Script gefunden:

    Und keine Erklärung dazu?

    Das Script hat noch eine Zeile unten dran die ich aber nicht brauche und zwar document.onmousedown = Mausklick;. Ich habe folgendes: <p onClick="getavailbility();">Test</p>! Nur kommt da Ereignis ist undefined! Warum?

    Weil der Event so nicht übergeben wird.

    Bie der alten Funktion wurde doch Ereignis auch nicht mit übergeben.

    Ja und zwar automatisch, wenn du den Handler inline definieren willst, dann musst du Event explizit übergeben.

    Vielleicht gibts da auch noch was besseres mit den MooTools?

    Das ist bestimmt besser. Allerdings sollte man vorher Erfahrung im Umgang mit JS haben.

    Struppi.

  2. Hallo,

    Ich habe folgendes: <p onClick="getavailbility();">Test</p>!

    ...und das ist falsch.

    Als onclick-Handlerfunktion hast du dann das Ergebnis von getavailbility(), aber die gibt ja gar nichts zurück, also ist der Handler nachher natürlich undefined, und da du beim Ausführen mit getavailbility(); auch den Parameter Ereignis nicht übergibst, den sie erwartet, ist dieser eben auch undefined.

    Schau dir nochmal die Zeile im Beispiel genau an, die du verworfen hast. Fällt da nichts auf?

    Gruß, Don P

  3. Hallo,

    Nur kommt da Ereignis ist undefined! Warum? Bie der alten Funktion wurde doch Ereignis auch nicht mit übergeben.

    Da wird die Handlerfunktion aber auch *nicht* mit

    document.onmousedown = Mausklick();  
    
    ~~~übergeben, sondern mit ...  
      
    ...na also, geht doch!  
      
    Gruß, Don P