He estado explorando el uso de funciones personalizadas para controladores de eventos. En este ejemplo desglosado, intento que aparezca una alerta cuando el usuario hace clic en un botón.¿Por qué se ejecutan las funciones no anónimas cuando se utiliza el controlador de eventos click?
¡Pero el cuadro de alerta aparece inmediatamente cuando se carga la página! ¿Qué estoy haciendo mal? (la porción comentada hace exactamente lo mismo).
Si defino la función BHaga clic() como
function bclick(foo, bar){ ... }
El resultado es también la misma.
JS dentro del encabezamiento:
<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>
HTML relevante en el cuerpo:
<button>Click Me!</button>
que podría si se utiliza ("botón") $ click (function() {BHaga clic ("botón", "se ha hecho clic");}).; – gnarf
Oh sí, duh. Gracias, lo arreglé :) –
Este es un ejemplo trivial, lo sé, pero aquí fue donde me quedé atrapado en algo más complicado. ¡Muchas gracias! – user105090