TL; DRHTML5 Drag & Drop-Element über div mit Hammer.js Drag Ereignisse
Ich möchte per Drag Hammer.js Ereignisse in einen Container HTML5 Drag & Drop eines Elements verwenden. Es gibt jedoch Konflikte.
Detaillierte Beschreibung:
Wie in der beigefügten Abbildung dargestellt, ich habe zwei Behälter:
- Links: Behälter mit ziehbar Elementen
- Recht: Behälter mit Hammer. js Ereignisse, nämlich Drag, Dragstart und Dragend.
Ich möchte Elemente aus dem linken Behälter nach rechts ein ziehen. Während des Ziehens wird jedoch beim Eingeben des rechten Containers das dragstart-Ereignis Hammer.js aktiviert. Nach dem Löschen des Elements trage ich das Ziehereignis auf den richtigen Container ein. Das Drag-Ereignis Hammer.js ist jedoch aktiviert und berücksichtigt deltaX und deltaY des vorherigen Dragstart-Ereignisses.
Hammer.js wird mit prevent verwendet: true:
Hammer(this.container, {preventDefault: true}).on('dragstart', function (event) { ... }
Ich habe bereits verwendet Event.preventDefault() und event.stopPropagation() auf dem drag des ziehbar Elements, ohne Erfolg.
Ich habe auch das Problem teilweise gelöst. Im Dragster-Ereignis des Containers Hammer.js habe ich die folgende Überprüfung hinzugefügt, um zu überprüfen, ob das Quellelement und das Ziel identisch sind. Das Ziehen im rechten Container funktioniert jedoch nur bei der zweiten Aktion, da die erste ignoriert wird.
Haben Sie eine Idee, wie Sie Hammer.js-Ereignisse verhindern können, während Sie Elemente mithilfe der HTML5-API ziehen?
Ich möchte Flags als letztes Mittel verwenden, da Hammer.js-Ereignisse von Drittanbietern entwickelt werden sollten.
Danke für Ihre Hilfe.
Haben Sie die Lösung bereits gefunden? –