Ik heb twee iframes, waarbij in frame 1 een element beschikbaar is genaamd dragNode. Dit element wil ik net als in iframe 1 kunnen drag & droppen in iframe 2. Ik ga dus drag n drop doen over meerdere iframes.
Om het element ook in iframe 2 te kunnen draggen moet er in de pagina van dat iframe actief worden meegewerkt aan het doorgeven van posities. In iframe 1 is er een mousemove event die het element verplaatst, en in iframe 2 is er een soortgelijk event voor het draggen.
Het geval wil nu zijn dat in IE dit uitstekend werkt, maar in FireFox 1.0 en 1.01 de browser de juiste clientX en de juiste clientY niet terug geeft zodra er een onmousedown event is afgevuurd maar nog geen onmouseup (dragging state dus). Wat FireFox schijnt terug te geven is screenX en screenY, kortom de afstand tot de linkerbovenhoek van je beeldscherm.
Als ik gewoon een mousemove event invoke in frame 2 krijg ik wel de normale clientX en clientY variabelen terug.
Is er iemand die hiervoor een workaround weet? Dit lijkt me namelijk een bug.
Om het element ook in iframe 2 te kunnen draggen moet er in de pagina van dat iframe actief worden meegewerkt aan het doorgeven van posities. In iframe 1 is er een mousemove event die het element verplaatst, en in iframe 2 is er een soortgelijk event voor het draggen.
PHP:
1
2
3
4
5
6
7
8
9
10
11
| document.onmousemove = function(e){ if (!e){e=event} var x = e.clientX; var y = e.clientY; var el = parent.document.getElementById('dragNode'); if(el){ el.style.top = y; el.style.left = x+add; } } |
Het geval wil nu zijn dat in IE dit uitstekend werkt, maar in FireFox 1.0 en 1.01 de browser de juiste clientX en de juiste clientY niet terug geeft zodra er een onmousedown event is afgevuurd maar nog geen onmouseup (dragging state dus). Wat FireFox schijnt terug te geven is screenX en screenY, kortom de afstand tot de linkerbovenhoek van je beeldscherm.
Als ik gewoon een mousemove event invoke in frame 2 krijg ik wel de normale clientX en clientY variabelen terug.
Is er iemand die hiervoor een workaround weet? Dit lijkt me namelijk een bug.