Tengo una función jQuery de $ .each en una función javascript principal, ¿cómo rompo la función principal en un determinado índice (i)?Rompiendo la función principal de jQuery cada función
Respuesta
Desde el sonido de la misma, que tenga algo como esto:
function outer(someParam) {
$.each(someParam, function(i) {
// do something with each value in someParam
});
}
¿Quieres volver de outer
cuando el bucle interno alcanza un determinado valor . No puedes hacer esto de una vez. El punto clave es que al hacer return false
desde la callback $.each
finaliza el "bucle". A continuación, puede establecer una variable para volver condicional si necesita que:
function outer(someParam) {
var returnNow = false;
$.each(someParam, function(i) {
if (i === 5) {
returnNow = true;
return false;
}
// do something with each value in someParam
});
if (returnNow) {
return;
// return immediately
}
// do some other action if you want to
}
¿hay alguna diferencia por vuelta y la devolución es falsa? – bcm
@Brandon En el controlador '$ .each', debe devolver' false' para romper el ciclo. Si pudieras dar un ejemplo más preciso de lo que estás haciendo, sería más fácil darte una respuesta más precisa. – lonesomeday
de romper un bucle, vuelve false
:
$('something').each(function() {
if (need_to_break) {
return false; // returning false stops the loop
}
});
de romper/regreso de múltiples each
bucles a la vez, acaba de lanzar una excepción:
var $break = {};
$('something').each(function() {
try {
$('something').each(function() {
$('something').each(function() {
$('something').each(function() {
throw $break;
});
});
});
} catch(E) {
if (E != $break) throw E;
}
});
Y atraparlo en el loop al que desea regresar.
Así es como Prototype.js implements break
, en su Enumerable.each()
, por ejemplo.
Una solución más convencional:
var do_break = false;
$('something').each(function() {
$('something').each(function() {
$('something').each(function() {
$('something').each(function() {
do_break = true;
return false;
});
if (do_break) {
return false;
}
});
if (do_break) {
return false;
}
});
if (do_break) {
return false;
}
});
Aahahaaha oh dios – david
OP no mencionó "múltiples" cada bucles. – jAndy
@jAndy ah, derecha – arnaud576875
La única solución que se me ocurre es establecer una variable (interruptor) de la función de los padres, en el cada función, si i == x, salir de la cada función primero después de cambiar el interruptor ... luego verifica el valor del interruptor para determinar si se saldrá de la función principal.
que haría algo como:
function foo() {
var success = true;
$('element').each(function() {
if (condition) {
success = false;
return success;
}
});
if (!success)
return false;
//should not get here
}
Etiquetada rotura
outerloop:
for (;;)
{
for (;;)
{
break; /* breaks inner loop */
}
for (;;)
{
break outerloop; /* breaks outer loop */
}
}
- 1. Devolver un valor con jQuery cada() función
- 2. jquery - cada función/clic no funciona
- 3. Sigabrt en la función principal
- 4. ¿Common Lisp equivalente a la función principal de Haskell? función
- 5. Rompiendo una función madre dentro de una función niño (PHP Preferiblemente)
- 6. Cocoa: int función principal
- 7. Obtener función principal
- 8. Qué función en glibc llama a la función principal
- 9. Python cómo salir de la función principal
- 10. ¿Anula la función jQuery .val()?
- 11. Binding función de clic en cada div jQuery
- 12. ¿Qué entra en la función principal?
- 13. ¿Qué significa "WINAPI" en la función principal?
- 14. JavaScript window.opener llamada principal función
- 15. Jquery función
- 16. jquery función dentro de una función
- 17. Ejecutar la función especificada cada X segundos
- 18. jQuery y la función alcance
- 19. ¿Por qué encapsulo una función jQuery dentro de jQuery (función ($) {});
- 20. Necesita cita de norma sobre la legalidad de la función principal, como una función de plantilla
- 21. ¿Función recursiva de JQuery?
- 22. jQuery función de suspensión?
- 23. función principal no devuelve nada. ¿Por qué?
- 24. ¿Función principal de prueba de la unidad de impulso?
- 25. ¿Cómo encuentro la función principal (...) de mi programa?
- 26. Cómo activarse la función de llamada en php para cada otra llamada a la función
- 27. Dos variaciones de la función principal de Python
- 28. ¿Es cada objeto de JavaScript una función?
- 29. jQuery activado(); función
- 30. jQuery: cómo utilizar correctamente la función .stop()?
¿Qué quiere decir por "romper la función madre"? ¿Quiere decir "devolver la función principal"? – lonesomeday