Para evitar el lanzamiento de múltiples eventos solo tenemos que usar un timer:
<script> var timer = null; function doSomething() { ... } $(function () { $(window).scroll(function () { if (timer) clearTimeout(timer); timer = setTimeout(function () { doSomething() }, 100); }); }); </script>
De esta forma evitamos que se lancen en paralelo varias veces el evento, sobretodo cuando intentamos cargar por ajax algún contenido adicional dado que necesita tiempo para cargar los datos.
hola, esta bien el tuto, tengo un problema con jquery, resulta que cargo un listview con contenido traido desde ajax(json), cuando cliqueo el primer item de busqueda, obtengo el indice y traigo los datos relacionados con el item, luego los coloco en una div para imprimirla en pantalla y me redirigo a la pagina donde esta el contenido, la primera vez funiciona perfecto, pero la segunda vez parece que el evento click se duplicara y no muestra bien la informacion, luego triplica el evento y asi sucesivamente, agradeceria que me ayudara
ResponderEliminarHola Ricardo, la solución más sencilla para tu caso es que 'desbindees' los eventos click. Para ello utiliza simplente:
ResponderEliminar$(selector).off('click')
Hay una forma más elegante de hacer esto, luego si me acuerdo te la explico, pero esto te funciona seguro ;)