hinzufügen von Ereignis als parameter innerhalb der Funktion mit addEventListener (funktioniert nicht in FF/IE). Javascript

<html>
<head>
<title>FML</title>

<script type="text/javascript">

function function1(e, div) {
div.innerHTML="this works"
document.getElementById('myspan').innerHTML= 'x-pos on click: ' + e.clientX
div.addEventListener("mousemove", function(){test(event, this)}, true);
}

function test(e, div) {
div.innerHTML+='<br/>so does this'
//This doesn't work. Can't add event as a parameter to function that has to be executed when using addEventListener
document.getElementById('myspan2').innerHTML= 'y-pos on move: ' + e.clientY
}

</script>
</head>
<body>
<span id="myspan">&nbsp;</span>
<span id="myspan2">&nbsp;</span>
<div style="width:100px;height:100px;background-color:blue;overflow:hidden;"  onclick="function1(event, this)">
</body>
</html>

Klicken Sie auf das Blaue div.

Möchte ich hinzufügen, dass das Ereignis "mouseover", haben es ausgeführt, die test()-Funktion enthalten folgende Parameter: dieses Ereignis

Wenn die Funktion test(e, div) wird aufgerufen, ich bekomme immer ein "event" nicht definiert ist" Fehler in firefox und IE, obwohl ironischerweise es funktioniert perfekt in Chrome und Safari.

Möglichkeit, die ich hinzufügen können, die event-parameter durch die Verwendung von addEventListener? Kann ich es auf der Arbeit mit Fenster.event in chrome und safari, aber dies ist das genaue setup, was ich will. Ich habe schon gegoogelt und trial/erroring für eine Weile jetzt, ohne Erfolg... also FML :/Irgendwelche Tipps/Hinweise/... außerdem Schießen mir in den Kopf?

Ich weiß, jquery würde wahrscheinlich lösen, aber ich will mit javascript vertraut, bevor Sie die Migration zu jQuery. Oder sollte ich migrieren überhaupt?

Dank und cheers,
p.

Neben meiner Antwort, Daumen hoch für "ich weiß, jquery würde wahrscheinlich lösen, aber ich will mit javascript vertraut, bevor Sie die Migration von jQuery." Dies ist der richtige Weg um eine Sprache zu lernen. Und es scheint selten in der JS-community. Da habe ich Menschen gesehen, hier in SO, die waren auch nur zu Fragen für ein spezielles Konstrukt in jQuery gemacht werden, zu ersetzen, wenn-dann-sonst... 😀

InformationsquelleAutor Pascalculator | 2011-09-12

Schreibe einen Kommentar