Frage Warum wird die Anweisung vor confirm() im Edge nicht ausgeführt?

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Ich werde noch kirre, möchte einfach nur irgendwie ein Textarea markieren (farbig hinterlegen), solange confirm() aktiv ist. Im Firefox gehts (zufällig?), im Edge nicht. Im Edge sieht es zunächst so aus, als wenn garnichts passiert. Wenn man allerdings die Rückstellung auf transparent auskommentiert färbt sich das Textarea nachdem man confirm() mit OK oder Abbrechen geschlossen hat.
Ich möchte nur mal verstehen woran das liegt.

Javascript:
                function jsTextAusPlan(tagID, textAreaWidth)
                {
                    $("#tagesTextarea" + tagID).css({"background-color" : "#ffff99"});
                    
                    if (confirm(`Artikel aus dem aktuellen Menüplan...`))
                    {
                        $.post("ajax/ajaxAllergeneZusatzstoffe.php", { artikelnummer: artikelnummerMenueplan }, function(AllergeneZusatzstoffe)
                        {
                            .........
                        }        );
                    }   
                    $("#tagesTextarea" + tagID).css({"background-color" : "transparent"});
                }
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.456
466
83
68
Das habe ich auch schon beobachtet. Der Grund ist wahrscheinlich, dass es die Performance verschlechtern würde, wenn man nach jeder Anweisung die Seite neu rendern würde. Stackoverflow empfiehlt, es mit einem Timeout zu lösen, aber irgend wie unbefriedigend:
Code:
<div id="test-update-css">ogöwhnrejio</div>
    <script>
        document.getElementById('test-update-css').style.backgroundColor = 'lightblue';
        setTimeout(() => {
            if (confirm('Click to continue')) {
                // do something
            }
        }, 50);


    </script>
Unbefriedend vor allem weil das, was nach dem confirm passieren soll, in der Callback-Funktion notiert werden muss.

Ich habe früher von anderen Tricks gelesen, mit denen man das Aktualisieren erzwingen kann, kann es aber nicht wiederfinden.
 

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Also mir hätte die Bestätigung schon gereicht, dass ich nicht zu blöde bin so „einfache Dinge“ hinzubekommen. Eine funktionierende Lösung habe ich gar nicht erwartet.

Was soll ich sagen, wieder mal aller besten Dank @Sempervivum. Ich hoffe, dass es dir auch ein bisschen Spaß macht meine Fragen/Probleme zu beantworten, könnte mir vorstellen, dass ich mehr davon habe.
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.456
466
83
68
Keine Sorge, wenn es mir keinen Spaß machen würde, Fragen zu beantworten und Lösungen zu finden, würde ich es nicht tun :smile: