nicht sicher, warum die Definition der Funktion mit im Rahmen von ready()
ist wichtig für Sie, aber Sie können es, indem er erklärt foo
vorne funktioniert:
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script>
var foo; // Here's the difference
$(document).ready(function(){
foo = function()
{
alert('Bar');
}
});
</script></head><body>
<input type="button" onclick="foo()" value="Click me">
</body></html>
Natürlich kann man nicht foo()
aus dem Inline-Aufruf Skript sofort nach ready()
, weil der ready()
Code noch nicht ausgeführt wurde, aber Sie können die Funktion später aufrufen.
So stellen Sie sicher, dass nichts versuchen foo()
bevor der ready()
Code aufzurufen ausgeführt wurde (oder die Erstmeldung von foo()
eine harmlose Funktion zu machen).
Tolle Idee. Danke Richie! –
Was ist, wenn Sie 'foo()' mit einigen Parametern aufrufen müssen?Wie würden Sie an ihnen vorbeikommen und wie würden sie empfangen werden? –
@ alonso.torres: Genau wie jede andere JavaScript Funktion: 'foo = Funktion (x, y, z) {...}' ... 'onclick =" foo (1, 2, 3) "' – RichieHindle