also einem return ein zweites return hinterher zu schieben bringt absolut gar nix.
return gibt den Rückgabewert an den Aufrufer und beendet die Abarbeitung der aktuellen Funktion.
ein Anchor mit Link und mit onClick-Event funktioniert.
sieh dir dazu dieses kleine Beispiel an:
<html>
<head>
<script type="text/javascript">
<!--
function test() {
alert("Test");
}
//-->
</script>
</head>
<body>
<a href="
http://www.sophist.de" target="_self" onClick="return test();">TestLink</a>
</body>
</html>
dass dein Link nicht geöffnet wird liegt vermutlich daran, dass die Funktion toggleMenu false zurückgibt.