zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden Div-Verschachtelungen und onmouseover/onmouseout

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 18.11.2010, 18:46
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.09.2010
Beiträge: 29
uthomas befindet sich auf einem aufstrebenden Ast
Standard

Wie meinst du das mit herausnehmen?
In line1 und line2 stehen keine Eventhandler.

PHP-Code:
<div id="button" onmouseover="mopen('menue');" onmouseout="mclose();">
        <div class="line1">
            <?php echo $this->__('headline'); ?>
        </div>
        <div class="line2">
            <?php echo $this->__('subline'); ?>
        </div>
    </div>
Vermutlich muss ich da irgendwie per addEventListener stopPropagation angeben.
https://developer.mozilla.org/en/DOM...dEventListener
Leider weiß ich noch nicht wie.
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 18.11.2010, 18:54
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich kann dir ehrlich gesagt nicht mehr folgen. Schreib jetzt bitte GANZ GENAU, was in deinem Magento-Template drin steht!

Gruß
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 19.11.2010, 09:45
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.09.2010
Beiträge: 29
uthomas befindet sich auf einem aufstrebenden Ast
Standard

Magento-Quellcode
HTML-Code:
/**
 * @var Mage_Page_Block_Html_Header $this
 */
?>
<div class="header-container">
    <div class="header">
        <?php if ($this->getIsHomePage()):?>
        <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
        <?php else:?>
        <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
        <?php endif?>
        <div class="quick-access">
            <?php echo $this->getChildHtml('topSearch') ?>
            <p class="welcome-msg"><?php echo $this->getWelcome()?></p>
            <?php echo $this->getChildHtml('topLinks') ?>
            <?php echo $this->getChildHtml('store_language') ?>
<!-- Aufruf zu meinem einem eigenen Block -->
<?php echo $this->getChildHtml('test'); ?>
<!-- -->
        </div>
        <?php echo $this->getChildHtml('topContainer'); ?>
    </div>
</div>
Mein Fragment, das oben mit <?php echo $this->getChildHtml('test'); ?> eingebettet wurde:
HTML-Code:
<li>
    <div id="button" onmouseover="mopen('menue');" onmouseout="mclose('menue');">
        <div class="line1">
            <?php echo $this->__('headline'); ?>
        </div>
        <div class="line2">
            <?php echo $this->__('subline'); ?>
        </div>
    </div>

    <ul id="menue">
        <li>accessory1</li>
        <li>accessory2</li>
        <li>accessory3</li>
    </ul>
</li>
Mit Zitat antworten
  #14 (permalink)  
Alt 19.11.2010, 10:09
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Na und dann versuchst du jetzt mal das, was ich dir schon am Anfang vorgeschlagen habe:

PHP-Code:
<li>
    <div id="button" onmouseover="mopen('menue');" onmouseout="mclose();">
        <div class="line1" onmouseover="return false;" onmouseout="return false;">
            <?php echo $this->__('headline'); ?>
        </div>
        <div class="line2" onmouseover="return false;" onmouseout="return false;">
            <?php echo $this->__('subline'); ?>
        </div>
    </div>

    <ul id="menue" onmouseout="mclosetime();" >
        <li>accessory1</li>
        <li>accessory2</li>
        <li>accessory3</li>
    </ul>
</li>
Allerdings habe ich es gerade selber noch mal getestet und im Normalfall vererben sich onmouse-Attribute nicht. Die inneren DIVs sollten also nicht onmouseover und onmouseout auslösen. Ich vermute mal, dass entweder dein Template gar nicht eingebunden wird und ein anderes genommen wird oder es gibt noch anderes JavaScript, welches das verursacht.

Aufgefallen ist mir auch, dass dein Template ja ein Listelement ist und ich vermute, dass dieses mehrfach auf der Webseite eingebunden wird. Dann darfst du für das DIV darin natürlich nicht die ID button vergeben, da IDs eindeutig sein müssen. Für die Unterlist mit der ID menu trifft das natürlich auch zu.

Gruß
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
  #15 (permalink)  
Alt 22.11.2010, 10:12
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.09.2010
Beiträge: 29
uthomas befindet sich auf einem aufstrebenden Ast
Standard

Hey, danke für dein Bemühen. Das Problem hab ich so gelöst, dass ich die Übergabeparameter im JS überprüfe onmouseover(id). Im Grenzbereich der inneren Divs werden nämlich auch Events ausgelöst mit "willkürlichen" Parametern.
Mit Zitat antworten
  #16 (permalink)  
Alt 22.11.2010, 12:09
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von netspy Beitrag anzeigen
Na und dann versuchst du jetzt mal das, was ich schon am Anfang vorgeschlagen habe:
Das bringt nichts, weil es nicht verhindert, dass der mousout Event gefeuert wird.

Zitat:
Zitat von netspy Beitrag anzeigen
Allerdings habe ich es gerade selber noch mal getestet und im Normalfall vererben sich onmouse-Attribute nicht. Die inneren DIVs sollten also nicht onmouseover und onmouseout auslösen.
Vererben wäre das falsche Wort, Events "bubblen", allerdings von unten nach oben.

Das Problem in diesem Fall ist, dass das mouseout hier gefeuert wird, sobald die Maus das DIV '#button' verläßt, auch bei Elementen innerhalb des DIV.

Wenn aber Jquery im Einsatz ist, ist dies auch kein Problem: .mouseenter() – jQuery API

Geändert von protonenbeschleuniger (22.11.2010 um 12:12 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 22.11.2010, 13:19
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Das bringt nichts, weil es nicht verhindert, dass der mousout Event gefeuert wird.
Merkwürdig. Eigentlich sollte durch "return false" die Standardereignisverarbeitung verhindert werden. Scheint aber bei onmouse… nicht zu funktionieren.

Hier habe ich mal ein Script gefunden, wie das ganze mit etwas Aufwand trotzdem verhindert werden kann:

fixOnMouseOut Test

Gruß
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
  #18 (permalink)  
Alt 22.11.2010, 13:40
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von netspy Beitrag anzeigen
Merkwürdig. Eigentlich sollte durch "return false" die Standardereignisverarbeitung verhindert werden. Scheint aber bei onmouse… nicht zu funktionieren.
Doch tut es, aber es verhindert nicht die Events des darüber liegenden Elementes, dort wird ja mousout gefeuert, nicht bei den inneren DIVs

Wie gesagt, wenn jquery zum, Einsatz kommt, ist diese Funktionalität schon eingebaut.
Mit Zitat antworten
  #19 (permalink)  
Alt 22.11.2010, 14:10
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Doch tut es, aber es verhindert nicht die Events des darüber liegenden Elementes, dort wird ja mousout gefeuert, nicht bei den inneren DIVs
Was man nicht alles noch lernt. Falls es jemanden interessiert, habe ich hier mal mal ein Testcase dazu gemacht:

Testcase zu onMouseOut

Für jQuery hast du ja schon geschrieben, dass dies es dort standardmäßig unterbunden wird. Wie man es auch ohne jQuery verhindert, steht in dem vorhin geposteten Link.

Gruß
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
Sponsored Links
  #20 (permalink)  
Alt 22.11.2010, 16:52
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.09.2010
Beiträge: 29
uthomas befindet sich auf einem aufstrebenden Ast
Standard

mouseenter() und mouseleave() ist genau das was ich gesucht habe! Herzlichen Dank!
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fragen zu CSS und Joomla DOKTOR CSS 2 23.05.2011 20:29
Brauche Hilfe: Schwarzes Nichts Zwox CSS 10 19.11.2010 17:53
Header entfernen tripple CSS 17 15.06.2010 16:41
Schriftfarbe in den Eintragungsfeldern von jforms Steveislucky CSS 2 16.03.2010 11:59
CSS Text nebeinander? carstiee09 CSS 13 13.11.2009 20:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:15 Uhr.