boworihyn: Darstellung des Cursors

Hallo zusammen,

ich habe ein kleines Problem. Ich habe für eine kleine Webanwendung eine kontext abhängige Hilfsfunktion gebastelt. Beim Klick auf einen Hilfbutton ändert der Cursor seine Form in das berühmte Fragezeichen und bei einem weiteren Klick in die Seite wird, je nachdem wo geklickt wurde die entsprechende Hilfeseite gezeigt. Soweit nichts besonderes und es klappt auch wunderbar. Bis auf einen Schönheitsfehler:

Um die Cursorform zu ändern habe ich den cursor style des body tags geändert:

document.getElementsByTagName("body")[0].style.cursor="help";

Jedoch verändern alle untergeordneten Elemente mit spezieller Cursorform (inputs, buttons usw) den Cursor wieder, was gerade nicht gewünscht ist.

Auch das definieren des Cursor Attributs des Main Tags via CSS mit dem Zusatz !important hilft nichts.

Kennt jemand eine Möglichkeit die Cursorform zu erzwingen ohne das man sie für jedes untergeordnete Element extra setzten muss?

Vielen Dank im Voraus
Michael

  1. Vielleicht solltest Du lieber dem jeweiligen Element die Klasse "help" geben und dann im CSS folgendes schreiben:

    .help { cursor: help; }

    Das ist wesentlich einfacher.

    Gruß, LX

    --
    RFC 1925, Satz 8: Es ist komplizierter als man denkt.
  2. @@boworihyn:

    nuqneH

    document.getElementsByTagName("body")[0].style.cursor="help";

    Es ist nicht sinnvoll, das 'body'-Element per 'getElementsByTagName' im Elementbaum zu suchen. Mit 'document.body' hat man es bereits zur Verfügung.

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
  3. Hallo Michael

    Würde auch dem Element eine class geben und dann im css formatieren:

    document.body.className = 'helpCursor';

    und im css dem Element und allen enthaltenen Elementen folgende Anweisung:

    .helpCursor, .helpCursor * {
      cursor:help;
    }

    Habs nicht in jedem Browser getestet, safari und opera.

    Gruss vom
    cms

    1. Hallo Töbi,

      den css Operator * kannte ich noch gar nicht, ist aber genau das, was ich brauche.

      Danke
      Michael

      1. @@Boworihyn:

        nuqneH

        den css Operator * kannte ich noch gar nicht, ist aber genau das, was ich brauche.

        In CSS nennen sich die Dinger nicht Operatoren, sondern Selektoren. Und wenn du mal mehr davon brauchst: [CSS2 §5] Und wenn du mal noch mehr davon brauchst: [CSS3-SELECTORS]

        Ach, und BTW: Leerzeichen in Komposita

        Qapla'

        --
        Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)