Wie bekomme ich clientX und clientY arbeiten in meine "drag" event-handler auf Firefox?
Mozilla firefox 3.x scheint einen bug beim hören von "ondrag" - Ereignis. Das event-Objekt nicht meldet die position des Objektes gezogen wird, clientX, clientY, und andere Bildschirm-offsets sind alle auf null gesetzt. Dies ist durchaus problematisch, da wollte ich einen proxy-element auf das element gezogen wird und mit natürlich clientX und clientY, um seine position anzupassen.
Ich weiß, dass es Coole Sachen herum wie setDragImage in HTML5-aber ich will eine generische Abstraktion für native DD zwischen den Browsern.
Fehlerhaften code:
document.addEventListener('drag', function(e) {
console.log(e.clientX); //always Zero
}, false);
Hinweis :
Dieses problem geschieht nicht auf andere Veranstaltungen (dragstart, dragover) und das mousemove-Ereignisse nicht erfasst werden können, während Sie ziehen somethin'.
Bitte um Hilfe!!
- +1 für den Kommentar, den Sie Links. Sie können die Antwort von José. Ich werde auch versuchen, um herauszufinden, etwas, das in Bezug auf diese, sobald ich Sie einige Zeit.
- Ich habe eine Lösung gefunden, ich habe einen listener auf die "dragover" - event auf der Dokument-Ebene, jetzt bekomme ich den richtigen X-und Y-Eigenschaften, die ich bereitstellen kann, die durch eine Global shared object.
- Der gleiche Fehler (meiner Meinung nach) vorhanden ist, bis Firefox 10. Gleiches gilt für pageX und andere koordinieren Eigenschaften. Wenn es nicht sein soll, Teil dieser Veranstaltung sollte es sein, nicht definiert, nicht auf null, richtig? Das ist sehr ärgerlich. Tut mir Leid zu hören, müssen Sie das
dragover
Ereignis wie ein hack, aber zumindest funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Lösung gefunden, ich habe einen listener auf die "dragover" - event auf der Dokument-Ebene, jetzt bekomme ich den richtigen X-und Y-Eigenschaften, die ich bereitstellen kann, die durch eine Global shared object.
Drag-Ereignis in HTML-5 ist nicht voll funktionsfähig in heutigen Browsern. Simulieren Sie ein drag n drop situation, die Sie verwenden sollten:
Diese immer für mich gearbeitet. Wenn Sie irgendwelche Probleme, get-in-touch wieder, kann ich einige Beispiele nennen.
Glück!
Aber warum so etwas wie dies tun, gäbe es nicht Bibliotheken, wie JQuery & Prototyp verfügbar für cross-browser-drag & drop?
Oder aber, wenn Sie möchten, implementieren Sie eine DD-Bibliothek von Ihrem eigenen, können Sie mit Hilfe Ihrer Methoden und erweitern, da sowohl die Bibliotheken sind folgende Objekt-orientierte Paradigma.
Wird dies viel Zeit sparen.