Wenn Sie ein Formular in HTML wie so erstellen:Scope Änderungen während der HTML-Analyse
<!DOCTYPE html>
<html><head>
<script>
function submit() {
console.log("window.submit");
}
</script>
</head>
<body>
<form name="form">
<input type="button" value="button" onclick="submit()" />
</form>
</body>
</html>
Wenn der input
Tag wird analysiert (in Chrom zumindest), wird das entsprechende DOM-Element offenbar mit der Form erzeugt werden, wie der Gültigkeitsbereich, so dass die an den onclick-Handler gebundene Funktion form.submit()
statt window.submit()
ist. Ist dieses Standardverhalten oder Browser abhängig? Gibt es Unterlagen, die dies abdecken?
Könnte verwandt werden mit [Uncaught TypeError: lang ist keine Funktion] (http://stackoverflow.com/q/38276407/4642212). – Xufox