Si asigno dos veces un controlador al evento OnClick de un elemento, el controlador se ejecutará dos veces. Pero quiero cambiar esto, incluso si lo asigno dos veces, el controlador solo se ejecutará una vez.Agregue un controlador OnClick con jQuery solo una vez, incluso si se vuelve a llamar
ejemplo sin sentido para demostrar tema:
$('.button').click(
function(){
alert('here');
});
$('.button').click(
function(){
alert('here');
});
Así que he añadido el manejador de dos veces. Ahora cuando hago clic en un elemento con esa clase, obtengo dos cuadros de alerta.
La pregunta es, ¿cómo la restrinjo para que solo obtenga un cuadro de alerta?
¿Por qué necesitaría agregar el evento dos veces? – root
Hay una función ejecutada en esta página cada vez que hay una devolución de datos, para agregar el controlador a los elementos creados dinámicamente. Sin embargo, cualquier elemento que existiera anteriormente tiene el controlador dos veces ... – msigman
Creo que debes replantear tu enfoque para evitar el enlace dos veces, pero si estás en una crisis, supongo que podrías usar '$ ('. Button') .off ('click'). on ('click', function() {...}); 'como aquí: http://jsfiddle.net/SsRxv/ – hyperslug