Non certo perché la definizione della funzione con del perimetro di ready()
è importante per voi, ma è possibile farlo funzionare dichiarando foo
in attacco:
<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>
Ovviamente non è possibile chiamare foo()
dalla linea script immediatamente dopo ready()
perché il codice ready()
non è ancora stato eseguito, ma è possibile chiamare la funzione in un secondo momento.
basta assicurarsi che nulla può provare a chiamare foo()
prima del codice ready()
ha eseguito (o fare la dichiarazione iniziale di una funzione foo()
innocuo).
Ottima idea. Grazie, grazie! –
E se fosse necessario chiamare 'pippo()' con alcuni parametri?Come li passeresti e come li riceveresti? –
@ alonso.torres: Proprio come qualsiasi altra funzione JavaScript: 'foo = function (x, y, z) {...}' ... 'onclick = "foo (1, 2, 3)" ' – RichieHindle