Hola, estoy aprendiendo JQuery y he escrito una pequeña función en la que adjunto una función con un evento de clic de botón.Cómo pasar Evento como parámetro en la función JQuery
Este es el elemento principal del HTML
<script type="text/javascript">
$(pageLoaded);
function pageLoaded()
{
$("#Button1").bind("click",
{ key1: "value1", key2: "value2" },
function buttonClick(event)
{
$("#displayArea").text(event.data.key1);
}
);
}
</script>
Este es el cuerpo del HTML
<input id="Button1" type="button" value="button" />
<div id = "displayArea" style="border:2px solid black; width:300px; height:200px">
Este código funciona bien. Pero cuando intento escribir la función buttonClick fuera del método anonymus, ya no funciona.
Traté de llamar de esta manera:
$("#Button1").bind("click",
{ key1: "value1", key2: "value2" },
buttonClick(event));
function buttonClick(var event)
{
$("#displayArea").text(event.data.key1);
}
Esto no está funcionando. ¿Estoy cometiendo un error al pasar el evento como parámetro? ¿Cuál es la forma correcta de hacerlo sin usar métodos anónimos?
+1 por ser la primera persona para explicar realmente lo que estaban haciendo mal, en lugar de la simple publicación de código. –
+1. Vale la pena mencionar que si defines la función tal como sucede en esta respuesta, todo funcionará. Pero si define una función como esa: 'var buttonClick = function (event) {...}', la definición tendría que ser colocada antes de que se use la "referencia de función" (en este caso: antes de '$ (" # Button1 "). Bind (...)' se invoca). – Tadeck
@Tadeck, gracias Señor, ¿puedo agregar eso a mi respuesta? –