tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
498
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rollerueckwaerts rollerueckwaerts ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Berlin Fhain
    Beiträge
    225
    Heyho,
    ich habe 2 ineinander verschachtelte Divs und möchte abfangen, auf welcher Div gerade die Div liegt, und dementsprechend ein Bild ändern.

    Soweit funktioniert alles, nur das der Event der "Hintergrund-Div" immer ausgelöst wird obwohl sich die Maus gerade über der Div befindet, die über der "Hintergrund-Div" liegt.

    Wie schaffe ich es das beim mouseover verschiedener divs auch verschiedene Events ausgeführt werden ?


    HTML-Code:
    <script>
    function changePicture(url,bildname) {
    
     document.getElementById(bildname).src = url;
    
    }
    
    function changePictureToReset() {
    
     document.getElementById('menuImage').src = 'images/choose.png';
    
    }
    </script>
    
    
    <div id="site" onMouseOver="changePictureToReset()">
    <div id="container" onMouseOver="changePicture('images/image1.png','menuImage')>
    ......
    ......
    </div>
    </div>

    Danke schonmal jetzt
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    hört sich so an, als müsstest du das Weiterreichen des Events unterbinden. Hierfür steht dir für den IE die Eigenschaft cancelBubble zur Verfügung. Für Browser, die das Eventhandling nach DOM unterstützen, die Methode stopPropagation.

    Deine Funktion changePicture würde wie folgt aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    function changePicture(evt, url, bildname) {
      if(window.event){
        window.event.cancelBubble = true;
      }else{
        evt.stopPropagation();
      }
     
     document.getElementById(bildname).src = url;
    }
    Als erstes Argument erhält die Routine ein Event-Objekt, das im inneren ausgewertet wird.

    Der Aufruf im onmouseover-Event sieht nun wie folgt aus:
    Code :
    1
    
    <div id="container" onmouseover="changePicture(event, 'images/image1.png','menuImage')>
    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

Ähnliche Themen

  1. mousup-event erzeugt vorher paint-event.Wie abstellen?
    Von Cheesygecko im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 09.01.09, 14:04
  2. Event in Event aufrufen
    Von warcraft9105 im Forum .NET Windows Forms
    Antworten: 6
    Letzter Beitrag: 24.04.08, 10:00
  3. Antworten: 2
    Letzter Beitrag: 22.10.07, 21:47
  4. Antworten: 10
    Letzter Beitrag: 21.03.07, 13:33
  5. Draggable divs - Positionen versch. divs speichern
    Von Tapir im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 18.03.07, 11:14