Beiträge von Sempervivum

    So funktioniert's:

    Code
    <input id="cb1" type="checkbox" value="Opt1"><label for="cb1">Option 1</label><br>        <input id="cb2" type="checkbox" value="Opt1"><label for="cb2">Option 2</label><br>
            <input id="cb3" type="checkbox" value="Opt1"><label for="cb3">Option 3</label><br>
            <script>
                $("input[type='checkbox'] + label").on("dblclick", function () {
                    $("input[type='checkbox']").prop("checked", true);
                })         </script>

    Dazu müsste man wissen, wie das Umfeld aussieht: Du schreibst: "Doppelklick wählt alle Checkboxen mit gleichem Ziel aus" - wie ist das gemeint? Sind den Checkboxes Links zugeordnet. Am besten postest Du ein kleines Beispiel, wo alles drin ist, was man für die Realisierung braucht.

    So etwas habe ich schon mehrfach gemacht, indem ich die Checkbox unsichtbar gemacht habe und das neue Symbol in einem Label als Hintergrund gesetzt habe. Den Hintergrund kann man dann auf Grund des :checked umschalten. Dann musst Du natürlich auch das dblclick-Event auf das Label registrieren.
    Edit: Ich sehe gerade, dass du das mit dem Label ja schon gemacht hast. Bleibt das Problem mit den Doppelklick: Wie gesagt, du musst den Listener für das Label registrieren und dann durch Navigieren im DOM auf die richtigen Elemente wirken lassen.

    Zitat

    Mit dem CSS klappt das so nicht

    Hast Du das ausprobiert? Ich schon. In meinem Beispiel-CSS weise ich die Breite dem Label zu und das ist sichtbar.

    Zitat

    würde es großen Aufwand machen alles umzustellen als Buttons mit gleicher Größe

    Das läuft genau auf meinen Vorschlag mit der festen Breite hinaus. Den Text kannst Du mit text-align;center; leicht zentrieren.

    Genau, das ist sehr zu empfehlen. Das Formular zunächst leer lassen, die Bezeichnungen in einem Array ablegen und das HTML des Formulars in einer Schleife generieren:

    Code
    <form id="myform" class="check_LEDs" name="LED_form1">        </form>
            <script>
                var leds = ["LED0", "LED1", "LED2"]; // usw.
                html = "";
                for (var i = 0; i < leds.length; i++) {
                    html += '<input type="checkbox" name="' + leds[i] + ' " id="' + leds[i] + '" value="0" onclick="GetCheck(\'' + leds[i] + '\', this)">';
                    html += '<label for="' + leds[i] + '"><span></span>' + leds[i].replace("LED", "LED&nbsp;&nbsp;&nbsp;") + '</label>';
                }             document.getElementById("myform").innerHTML = html; </script>

    Wenn man erwartet, dass registrierte Maus-Eventhandler auf einem Touch-Gerät genau so funktionieren, wie bei Mausbedienung, so kann das bis zu einem gewissen Grade funktionieren, es kann aber auch schief gehen und nicht das erwartete Verhalten bringen, so wie in deinem Fall.
    Ich empfehle, abhängig vom Typ des Gerätes entweder die Maus- oder die Touch-Handler zu registrieren. Dieses habe ich auf meinem Android-Handy getestet und es funktioniert dort:

    Code
    <div id="msgbox"></div>        <button style="padding: 50px;" id ="btn1">rauf</button>        <script>            var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0));            if (isTouch) {                document.getElementById("btn1").addEventListener("touchstart", function () {                    document.getElementById("msgbox").innerHTML += "tstart";                });                document.getElementById("btn1").addEventListener("touchend", function () {                    document.getElementById("msgbox").innerHTML += "tend";                });            } else {                document.getElementById("btn1").addEventListener("mousedown", function () {                    document.getElementById("msgbox").innerHTML += "mdown";                });                document.getElementById("btn1").addEventListener("mouseup", function () {                    document.getElementById("msgbox").innerHTML += "mup";                });             }

    Nein, ich meinte weiterhin absolut positionieren und nur die Position top und left dynamisch mit Prozentangaben. Wenn es mit absoluten Werten möglich war, müsste es doch möglich sein, auch für die relativen Werte einen Algorthmus zu schreiben.

    Zitat

    left_relativ = (left_absolut / width_containter) * 100 . '%';

    Wenn ich dem .field mit den Developertools eine relative Breite gebe:

    Zitat

    .field { max-width: 200px; height: auto; position: absolute; max-width: 10%;}

    und dem #map_wrapper ebenfalls:

    Zitat

    #map_wrapper { left: 50%; max-width: 1790px; margin-left: -895px; top: 0px; bottom: 0px; right: 0px; /* position: absolute; */ width: 100%;}

    passt sich die Breite der Grafiken an die Bildschirmbreite an. Das ist jedoch nur die halbe Miete, denn jetzt müsstest Du auch die Positionen relativ definieren und die Prozentwerte mit deinem PHP berechnen.
    Edit: Ich kann machen, was ich will, das Forum verschluckt konsequent die Zeilenumbrüche!

    Verstehe. So wie auf dem oberen Bild sieht es bei mir auf dem Desktop auch aus. Selbst wenn es gelingt, das Ganze responsiv zu mächen, so dass es vollständig auf den Bildschirm einen Handys passt, wird es doch dann so klein, dass man kaum noch etwas erkennen kann?
    Sieht so aus, als ob es ein Spiel werden soll?

    Da fehlt jeweils der Doppelpunkt nach dem "top".
    Ich habe deinen Code in eine Testseite eingebaut und ich kann machen was ich will, die Größen verändern sich einwandfrei abhängig von der Fensterbreite. Das Problem muss woanders liegen. Woanders eine CSS-Definition mit höherer Priorität, u. U. als Inlinestyle?
    Am besten postest Du mal die URL deiner Seite.