atero: Cursor-Style im Opera

Hi,

ich hab ein Problem mit dem Ändern des Cursor-Styles mit Javascript beim Opera.
Ich hab eine Tabelle, beim Überfahren einer Kante der Tabelle und beim Überfahren der Headerzeile soll sich der Cursorstyle ändern.
Also habe ich einen Event-Handler beim mousemove der den Cursor umsetzt:
if (Cursor ist über einer Header-Zelle oder über einer Kante)
Element.style.cursor = "move";
else
Element.style.cursor = "";

Klappt wunderbar im FF und im IE, allerdings nur "manchmal" im Opera. Das heißt wenn ich über eine Headerzelle fahre, wird zwar angeblich der Cursor-Style auch im Opera umgesetzt, er zeigt es aber nicht immer an (der Cursor ändert sich also meist nicht obwohl Element.style.cursor sich ändert).

Habe versucht das Objekt neu zeichnen zu lassen mit den Prototype Funktionen hide und show, über visibility und über display. Bringt leider alles nix.

Hat jemand eine Idee wie ich das auch im Opera hinbekomme?

Viele Grüße
atero

  1. Hi

    Habe versucht das Objekt neu zeichnen zu lassen mit den Prototype Funktionen hide und show, über visibility und über display. Bringt leider alles nix.

    Hat jemand eine Idee wie ich das auch im Opera hinbekomme?

    Hatte vor einigen Wochen genau dasselbe Problem. Und habe es immer noch.

    Anscheinend ist Opera nicht in der Lage den Cursor Style eines Elementes zu ändern solange sich der Cursor über dem Element befindet. Das erklärt auch warum es manchmal funktioniert und manchmal nicht: Wenn du genug schnell in die Zelle Hoverst, feuert Opera den MouseMove auf dem Rahmen nicht und der Cursor für die Zelle wird angezeigt. Hoverst du 'langsam' (normal) über den Rahmen, feuert der MouseMove auf dem Rahmen, dafür der nächste in der Zelle nicht.

    Da dieses Verhalten in keinem anderen Browser nachvollziehbar ist, gehe ich davon das es ein Bug im Opera ist. Hat vermutlich damit zu tun, das Opera spezielle Techniken einsetzt was Redraw angeht. Im gegensatz du anderen Browsern, versucht Opera nur das neu zu Zeichnen was sich auch wirklich geändert hat, dies aber nicht auf HTML Element Basis, sondern Augrund von Berechnungen wo sich das geänderte Element befinden sollte.

    Fals du eine Lösung finden solltest, wäre ich auch sehr daran intressiert :)

    gruss

    lightfly

    1. Hi lightfly,

      danke für deine Antwort, kann deine Erfahrung bestätigen, wenn ich schnell drüber fahre wird der cursor korrekt geändert.

      Falls ichs wider Erwarten doch noch irgendwie hinbekomm meld ich mich natürlich
      Viele Grüße
      atero

      1. Grütze .. äh ... Grüße!

        danke für deine Antwort, kann deine Erfahrung bestätigen, wenn ich schnell drüber fahre wird der cursor korrekt geändert.
        Falls ichs wider Erwarten doch noch irgendwie hinbekomm meld ich mich natürlich

        Interessehalber:
        Tritt das bei Kestrel auch noch so auf?


        Kai

        --
        Der vertuschte Gefahrstoff: Dihydrogenmonoxid
        ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
        1. Hiho

          Interessehalber:
          Tritt das bei Kestrel auch noch so auf?

          Das musste ich natürlich gleich ausprobieren!

          Leider funktioniert es aber auch mit Kestrel nicht :(

          Aber Danke für den Input :)

          gruss

          lightfly

          1. Leider funktioniert es aber auch mit Kestrel nicht :(

            Könntet ihr bitte ein Minimalbeispiel bereitstellen, um Opera den Fehler zu melden? Solche Dinge werden recht schnell gefixt, womöglich noch vor der Fertigstellung von 9.50. Danke.

            Roland

            --
            Aquahu akbar!
            1. Anscheinend ist der Bug bereits in ähnlicher Form gemeldet.

              Gruß
              atero

              1. Anscheinend ist der Bug bereits in ähnlicher Form gemeldet.

                Gruß
                atero

                Sagt man sich zumindest. Leider kann man nur mit Premium Support Bugs ansehen. Hier der Foreneintrag

                http://my.opera.com/community/forums/topic.dml?id=210567