gondor: onmouseover deaktivieren

Hallo!

Gibt es eine Möglichkeit über Javascript onmouseover/onmouseout zu aktivieren bzw. deaktivieren?

<li id="row_10" onmouseover="changeBackground('row_10', '#ffcc00')" onmouseout="changeBackground('row_10', '#FFFFFF')"><a href="#">test</a></li>

Ich möchte in ganz bestimmten Fällen das mouseover abschalten können.

Danke,

gondor(..)

  1. Hallo Gondor,

    setz doch einfach eine if Abfrage in Deine Funktion changeBackground

    Was weiß ich wann Du möchtest das der Hintergrund geändert wird oder nicht ...

    Liebe Grüße,

    Bernd

    1. Also, ich setze bei <body onLoad="changeBackground('row_10', '#ffcc00')" einen Hintergrund. Je nachdem, welche Seite geladen werden soll, ändert sich der Parameter (changeBackground('...', '#ffcc00'). Der Hintergrund soll permanent gesetzt sein, ändert sich jedoch wieder, wenn ich mit der Maus auf das Element gehe, da in dem Fall das mouseover/mouseout noch aktiviert ist. Wie kann ich das umgehen?

      gondor(..)

      1. Hallo gondor,

        dann lass es doch einfach weg, auf der Seite wo Du es nicht haben willst.

        Deine Erklärung ist übrigens sehr schwer zu verstehen.

        Ich vermute aber Du suchst eher so etwas z.B.:

        function changeBackground(myRow, myColor){
        if(document.getElementsByTagName('body')[0].id == "foo")
        return false;
        }

        <body onLoad="changeBackground('row_10', '#ffcc00') id="foo">

        1. ich habe ein »» Deine Erklärung ist übrigens sehr schwer zu verstehen.

          okay, dann versuche ich es etwas 'einfacher' ;-)

          ich habe ein Menü (menu.php), welches auf ca. 10 Subseiten referenziert. Jede Subseite includiert das Menü

          <?php include ('menu.php') ?>

          Die Menüpunkte ändern bei mouseover/mouseout die Farbe mittels Javascript-Funktion. Klicke ich nun im Menü
          auf den Navigationspunkt 1, wird die Subseite 1 angezeigt. Der angewählte Menüpunkt soll nun permanent die
          Hintergrundfarbe halten. Durch <body onLoad="changeBackground('row_2', '#ffcc00')"> wird zwar der richtige
          Hintergrund gesetzt, doch wenn ich mit der Maus auf den angewählten Menülink fahre, ändert sich wieder die
          Farbe, da die mouseover-Eigenschaften für den Menüpunkt gesetzt sind.

          <li id="row_10" onmouseover="changeBackground('row_10', '#ffcc00')" onmouseout="changeBackground('row_10', '#FFFFFF')"><a href="#">test</a></li>

          Ich müsste also, die Eigenschaft deaktivieren, damit mit der Aktion der Maus nichts mehr passiert.

          Ich könnte zwar für jede Seite ein eigenes Menü programmieren, doch ist mir das zuviel overhead...

          Besser verstanden?

          gondor(..)

          1. Hallo Gondor,

            so ist es klarer ;-)

            Eine Lösung hatte ich Dir aber schon geschickt.

            Liebe Grüße,

            Bernd

        2. Hallo berdn!

          Das scheint aber so nicht zu gehen...

          Ich möchte ja weiterhin das mouseover im Menü für die anderen Menüpunkte  nutzen. Nur der ausgewählte soll den Hintergrund permanent halten. Meine Javascript-Funktion sieht zur Zeit so aus:

          function changeBackground(id, color){
            document.getElementById(id).style.backgroundColor = color;
          }

          Nun möchte ich bei dem Seitenload den Hintergrund des Menüpunktes markieren (<body onLoad="changeBackground('row_3', '#ffcc00')">) und festhalten. Da das Menü mit mouseover aufgebaut ist:

          ...
          <li id="row_3" onmouseover="changeBackground('row_3', '#ffcc00')" onmouseout="changeBackground('row_3', '#FFFFFF')"><a href="test.php">Test</a></li>
          ...

          passiert es jedoch, dass wenn ich mit der Maus auf den zuvor markierten Bereich gehe, dass die Hintergrundfarbe wieder wechselt.

          Wie kann ich das abstellen?

          Danke für Deine bisherige Hilfe,

          gondor(..)