Felix Riesterer: dieser saudämliche IE!!!

Beitrag lesen

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:)