HTML5-Ereignis wird sofort ausgelöst

9

Ich habe mehrere ziehbare Elemente

%Vor%

Und ich habe die folgenden Event-Handler:

%Vor%

Warum funktioniert es nur beim ersten Ziehen? Wenn ich ziehe ziehe das letzte ziehbare - das dragend Ereignis wird sofort ausgelöst. (Ich möchte nicht jQuery UI btw verwenden)

Es macht keinen Sinn für mich - es sieht wie ein Käfer aus.

Ich bin in Chrome v 30 unter OSX.

Hier ist ein Link zum JSFiddle: Ссылка

(Edit: Das ist die Wiederholung der folgenden Frage: - aber ich denke, das Originalposter war in Ordnung, um mit jQuery UI zu gehen, während ich möchte, dass es nativ HTML5 ist)

    
Joerg 28.10.2013, 16:21
quelle

3 Antworten

9

Wie ich bereits im Thema dragend erwähnt habe , und dragleave feuern sofort ab, wenn ich ziehe, was das Problem (das ein Chrome-Bug ist) gelöst hat, war, dass ich einen setTimeout von 10 Millisekunden in den Handler einfüge und das DOM in diesem Timeout manipuliere.

    
Ivan Koshelev 22.12.2013 21:18
quelle
4

Ich habe keine direkte Lösung, aber das Ändern des DOMs im dragStart Event-Handler verursacht dieses Problem, und jeder Code, der das DOM ändert, sollte wirklich in den dragEnter-Event-Handler gehen - das ist Drag & Amp; zuverlässiger abgefeuert.

Nicht sicher, ob dies beabsichtigt ist - es fühlt sich ein bisschen wie ein Bug an.

    
Joerg 29.10.2013 15:55
quelle
3

Dies ist ein bekanntes Chrom-Problem. Problem ist, wie Jörg erwähnt, dass du das dom am Dragstart manipulierst.

Sie können dies tun, aber Sie müssen es in einem Timeout tun.

    
user1351905 14.04.2016 08:33
quelle