Wie die Rückkehr Wert von addEventListener
Verwende ich ein javascript, fangen die x
und y
position, wenn der Benutzer auf einen link klicken, jetzt kann ich machen das es funktioniert, aber ich will es zurück die beiden Werte zu function init()
wenn es aufgerufen wird. Wie kann ich es tun?
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", init, false);
function init()
{
var canvas = document.getElementById("canvas");
canvas.addEventListener("mousedown", getPosition, false);
//how can I get the return values here?
}
function getPosition(event)
{
var x = new Number();
var y = new Number();
var canvas = document.getElementById("canvas");
if (event.x != undefined && event.y != undefined)
{
x = event.x;
y = event.y;
}
else
{
x = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
y = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
x -= canvas.offsetLeft;
y -= canvas.offsetTop;
alert("x: " + x + " y: " + y); //here can print the correct position
//if I add the two values here, and return them. How can I receive the values in funciton init()
//var clickPosition={"x":x, "y":y};
//return clickPosition;
}
</script>
- Ich denke, dass deine Frage falsch ist. Sie kann nicht zurückkehren, zwei Werte auf Ihren Kommentar, da Sie nicht die Funktion aufrufen, da - Sie die Registrierung eines Ereignis-listenter....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wo haben Sie den Kommentar, Sie wird nie in der Lage sein, um Zugriff auf die Variablen, die Veranstaltung hat noch nicht stattgefunden.
Stattdessen, was Sie tun können, ist, übergeben Sie eine anonyme Funktion, um den Ereignishandler, rufen Sie Ihre Methode, die einen Wert zurückgibt und verwenden Sie es als angemessen
Können Sie nicht.
Ist JavaScript nicht in der Lage die Zeit zu Reisen.
Den event-handler-Funktion wird nicht ausgeführt, bis das Ereignis Eintritt. Zu der Zeit, die Funktion, die aufgerufen
addEventHandler
wird ausgeführt und zurückgegeben.Den event-handler-Funktion muss entweder befassen sich mit den Daten selbst, oder andere Funktionen aufrufen, es zu tun. Die Daten hat zu Reisen, vorwärts, es kann nicht zurück gehen.