• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Zugriff auf das Event

bermany

New member
Hallo Foren-Gemeinde,

ich hätte da mal eine Frage zu Events im Allgemeinen am Beispiel des Events onwheel, also z.B.:

HTML:
<div onwheel="myfunction()"></div>

Nun stellt sich mir die Frage, wie man auf das Event eigentlich zugreifen kann. Folgender Ansatz geht schief:

Code:
function myfunction(e) {
  var ev = e || window.event || Event || MouseEvent || nullahnung;
}

Bei "ev" kommt einfach nichts an.

Wie bekomme ich Zugriff auf das Event?

Natürlich kenne ich den Weg über addEventListener, doch das will ich ja gerade vermeiden, da es für mich in diesem Fall unsägliche Nachteile hätte.
 
Natürlich kenne ich den Weg über addEventListener, doch das will ich ja gerade vermeiden, da es für mich in diesem Fall unsägliche Nachteile hätte.
Rein aus Interesse ... und das wären welche?

Wie bekomme ich Zugriff auf das Event?
du musst den Event selbst übergeben. Da gab's glaube ich irgendwelche Globals, aber da ich event-Attribute nicht benutze, kann ich dir nix genaueres sagen.
 
bermany schrieb:
Bei "ev" kommt einfach nichts an.
FireFox?


Wenn du den EventListener nicht direkt an das div binden möchtest, wird es halt etwas komplizierter.
Code:
<!DOCTYPE HTML>
<html>
<head>
<meta charset='utf-8'>
<title>wheel test</title>

<script type="text/javascript">
		function wheeler(e){
			var mousewheelevt=(/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel
			if (document.attachEvent) //if IE (and Opera depending on user setting)
			    document.attachEvent("on"+mousewheelevt, displaywheel)
			else if (document.addEventListener) //WC3 browsers
			    document.addEventListener(mousewheelevt, displaywheel, false)
		
			function displaywheel(e){
				console.log(e);
			}
		}
</script>
</head>
<body>
	<div style="background-color: red; width: 500px; height: 450px;" onwheel="wheeler()"></div>
</body>
</html>
 
Zurück
Oben