Ho esplorato l'utilizzo di funzioni personalizzate per gestori di eventi. In questo esempio ridotto, sto cercando di far apparire un avviso quando l'utente fa clic su un pulsante.Perché le funzioni non anonime vengono eseguite quando si utilizza il gestore eventi click?
Ma la finestra di avviso si solleva immediatamente come il caricamento della pagina! Che cosa sto facendo di sbagliato? (la parte commentata fa esattamente la stessa cosa).
Se definisco la funzione BFare clic() come
function bclick(foo, bar){ ... }
Il risultato è anche lo stesso.
JS nell'intestazione:
<script type="text/javascript">
var bclick = function(foo, bar){alert(foo + " " + bar + "\n");}
//$(document).ready(function(){
// $("button").click(bclick("Button","Clicked"));
// });
$("button").click(bclick("Button","Clicked"));
</script>
Rilevante HTML nel corpo:
<button>Click Me!</button>
È possibile se si utilizza $ ("button"). Click (function() {bclick ("Button", "Clicked");}); – gnarf
Oh sì, duh. Grazie, l'ho risolto :) –
Questo è un esempio banale, lo so, ma questo era il punto in cui mi sono bloccato in qualcosa di più complicato. Molte grazie! – user105090