Felix Riesterer: Danke, bin erfolgreich gewesen!

Beitrag lesen

Lieber wahsaga,

wenn deine funktion selber mittels return etwas zurückgibt, wwas auf den weiteren ablauf einfluss haben soll, dann eher das genannte onClick="return meine_function();"

Das verhält sich bei mir anders! Meine Liste sieht ungefähr so aus:

  
<ul class="explorer_baum">  
  <li class="zu" onclick="aufzu(this)"><a href="javascript:void(0);" onclick="return auswahl(['ordner','/html/']);"><img src="icons/folder.gif" alt="icon" />html</a>  
    <ul>  
      <li class="zu" onclick="aufzu(this)"><a href="javascript:void(0);" onclick="return auswahl(['ordner','/html/admin/']);"><img src="icons/folder.gif" alt="icon" />admin</a>  
        <ul>  
          <li class="zu" onclick="aufzu(this)"><a href="javascript:void(0);" onclick="return auswahl(['ordner','/html/admin/icons/']);"><img src="icons/folder.gif" alt="icon" />icons</a></li>  
          <li class="file"><a href="javascript:void(0);" onclick="return auswahl(['datei','/html/admin/icons/default.gif']);"><img src="icons/img.gif" alt="icon" />default.gif</a></li>  
        </ul>  
      </li>  
      <li class="file"><a href="javascript:void(0);" onclick="return auswahl(['datei','/html/admin/accountdirektor.script.inc']);"><img src="icons/inc.gif" alt="icon" />accountdirektor.script.inc</a></li>  
      <li class="file"><a href="javascript:void(0);" onclick="return auswahl(['datei','/html/admin/admin.php']);"><img src="icons/php.gif" alt="icon" />admin.php</a></li>  
    </ul>  
  </li>  
...

Die betroffene JS-Funktion ist das hier:

  
 function aufzu(element)  
 {  
 if(element.className == 'auf')  
    {  
    element.className = "zu";  
    element.childNodes[0].childNodes[0].src = "icons/folder.gif";  
    }  
  else  
    {  
    element.className = "auf";  
    element.childNodes[0].childNodes[0].src = "icons/folderopen.gif";  
    }  
 return false;  
 }

Wenn ich jetzt auf einen Ordner klicke (also auf ein <li>-Element), dann reagiert der darin enthaltene Eventhandler und wechselt die CSS-Klasse. Das übergeordnete <li> tut das aber auch! Obwohl mein Eventhandler (s.o.) onclick="return aufzu(this);" lautet und die Funktion aufzu() ein false zurückliefert!

und noch mal: wenn du da nicht wirklich ein <a> brauchst - im auch im IE per CSS einen :hover-effekt zu erreichen o.ä. - dann gibt es sicher ein günstigeres element an dieser stelle, bspw. einen <span> mit onClick - ohne sinnleeres href-attribut.

Ja, ich brauche den Hover-Effekt im IE!

Dass bei mir das bubbling nicht gestoppt wird, liegt vielleicht daran, dass ich Gernots Herangehensweise nicht verstanden habe, daher auch nicht umsetzen konnte... :-(

Liebe Grüße aus Ellwangen,

Felix Riesterer.