No sé por qué la definición de la función con el alcance de ready()
es importante para usted, pero usted puede hacer que funcione declarando foo
por adelantado:
<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>
Obviamente no se puede llamar a la línea de foo()
secuencia de comandos inmediatamente después de ready()
porque el código ready()
aún no se ha ejecutado, pero puede llamar a la función más adelante.
Sólo asegúrese de que nada puede tratar de llamar foo()
antes del código ready()
se ha quedado (o hacer la declaración inicial de foo()
una función inofensivo).
Gran idea. Gracias Richie! –
¿Qué sucede si necesita llamar 'foo()' con algunos parámetros?¿Cómo los aprobaría, y cómo serían recibidos? –
@ alonso.torres: Al igual que cualquier otra función JavaScript: 'foo = función (x, y, z) {...}' '... onclick = "foo (1, 2, 3)"' – RichieHindle