Ciao sto imparando JQuery e ho scritto una piccola funzione in cui allego una funzione con l'evento click di un pulsante.Come passare l'evento come parametro nella funzione JQuery
questo è l'elemento capo 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>
Questo è il corpo del HTML
<input id="Button1" type="button" value="button" />
<div id = "displayArea" style="border:2px solid black; width:300px; height:200px">
Questo codice funziona bene. Ma quando provo a scrivere la funzione buttonClick al di fuori del metodo anonymus, non funziona più.
ho provato a chiamare in questo modo:
$("#Button1").bind("click",
{ key1: "value1", key2: "value2" },
buttonClick(event));
function buttonClick(var event)
{
$("#displayArea").text(event.data.key1);
}
Questo non funziona. Sto facendo qualche errore durante il passaggio dell'evento come parametro? qual è il modo corretto di farlo senza usare metodi anonimi?
+1 per essere stata la prima persona a spiegare in realtà quello che stavano facendo male, piuttosto che codice appena distacco. –
+1. Vale la pena ricordare che se si definisce la funzione come succede in questa risposta, tutto funzionerà. Ma se si definisce una funzione del genere: 'var buttonClick = function (event) {...}', la definizione dovrebbe essere posizionata prima che venga utilizzato il "riferimento di funzione" (in questo caso: prima di '$ (" # Button1 "). Bind (...)' è invocato). – Tadeck
@Tadeck, grazie signore, posso aggiungerlo alla mia risposta? –