Firebug meldet einen Fehler "Rückkehr nicht in Funktion" ohne Ort (na ja, Zeile 1 von nichts). Wie kann ich die Quelle dieses Fehlers aufspüren?Rückgabe nicht in Funktion
return not in function
[Break on this error] return(0)
javascript:return... (line 1)
Ich starte FireBug 1.05 auf FF 2.0.0.20 auf Ubuntu.
Ich fand eine Lösung , die (für diese Konfiguration) arbeitet:
var link = document.createElement('a');
link.href='/';
if (childSummary.more) {
link.onclick = capture(function(id) { follow(id); }, childSummary.id);
} else {
link.onclick = capture(function(id) { show(id); }, childSummary.id);
}
link.appendChild(document.createTextNode(name));
div.appendChild(link);
[...]
function capture(fn, val) {
return function() { fn(val); return false; };
}
Der Code in einer Schleife war, in dem die ID ändert, erforderlich macht, die Erfassungsfunktion.
Früher war die href 'javascript: return 0' und die Capture-Funktion gab nicht direkt false zurück, sondern das Ergebnis von fn, und es gab einen Pfad, als es das Äquivalent von true zurückgab. Der href wurde ausgewertet, wodurch der Fehler verursacht wurde.
Wenn Sie href als '#' oder '' definieren, werden alle Links als bereits besucht angezeigt. Kein Definieren von href überhaupt, da keine Link-Hervorhebung vorhanden ist. Dies schien am einfachsten.
Sieht so aus. Ich benutze Javascript, um einen Link mit einer onclick Funktion zu erzeugen, und setze das href Attribut des Links. Die onclick-Funktion gibt am Ende ihrer Operation false zurück und ich dachte, dies würde verhindern, dass die href ausgewertet wird. Da dies gerade fehlgeschlagen ist, frage ich mich, ob sich etwas früher in der Onclick-Funktion anders verhält. – dougfelt
Konnten wir den genauen Code für Ihren Link sehen?"Return false" ist innerhalb eines onclick in Ordnung; Es stoppt die Auswertung des href. Aber wenn Sie es so verwenden, sollte das href selbst eine URL sein, nicht mehr JS. –
Dies ist eine gute Erklärung dafür, wie man onclick verwendet, um zu verhindern, dass Anker geladen werden: http://www.javascripttoolbox.com/bestpractices/#onclick –