Wie bekomme ich den saudämlichen IE ENDLICH einmal in den Griff???
Aktuelles Problem:
<div style="float:left">
<p style="float:left">
<span style="float:left">Text</span>
</p>
</div>
Wenn ich nun das SPAN-Element verschiebbar mache, dann positioniert der IE das span-Element falsch, da die offset-Werte (offsetLeft/offsetTop) "nicht stimmen". Durch das floaten gerät da irgendetwas völlig durcheinander. [ausprobieren mit einem IE]
Der verwendete Code-Ausschnitt:
// falls das zu ziehende Element noch nicht "losgelöst" wurde, dieses beweglich machen
if (!Quiz.platzHalter && Quiz.dragElm) {
Quiz.platzHalter = Quiz.dragElm.cloneNode(true);
Quiz.platzHalter.id = Quiz.dragElm.id + "_geklont";
Quiz.platzHalter.style.visibility = "hidden";
// ---- Hier versagt der IE bei verschachtelt gefloateten Elementen ----
Quiz.dragElm.style.top = Quiz.dragElm.offsetTop + "px";
Quiz.dragElm.style.left = Quiz.dragElm.offsetLeft + "px";
// Korrekturen an der Position des Drag-Elementes für IE
if (document.attachEvent && typeof(Quiz.IE.scrollLeft) == "number") {
// ---- hier ist natürlich jetzt auch nix mehr zu retten ----
Quiz.dragElm.style.top = Quiz.dragElm.offsetTop + 15 + "px";
Quiz.dragElm.style.left = Quiz.dragElm.offsetLeft + 15 + "px";
// Anti-Markierungs-Effekt für IE
Quiz.oldDocOnSelectStart = window.document.onselectstart;
window.document.onselectstart = function () { return false;};
}
Quiz.dragElm.className += " " + Quiz.draggedClass;
// Ersatz-Element einfügen (das Original wird für die Mouse-Events benötigt!)
Quiz.dragElm.parentNode.insertBefore(Quiz.platzHalter, Quiz.dragElm);
}
Wer kann mich in die richtige Richtung schubsen, wie ich prüfen kann, welche Korrekturen die offset-Werte benötigen, damit das Drag&Drop wieder wie gewünscht klappt? Wohlgemerkt, echte Browser (getestet FF und Opera) kommen mit obigem Code blendend zurecht!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)