Ricevo l'errore "Errore di intervallo non rilevato: dimensione massima dello stack di chiamate superata" su Chrome. ecco la mia funzione jQuery
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
Nota che ci sono decine di migliaia di celle nella pagina. Tuttavia, generalmente associo gli stack overflow alla ricorsione e in questo caso per quanto posso vedere non ce n'è.
La creazione di un lambda come questo genera automaticamente un carico di cose nello stack? c'è un modo per aggirarlo?
Al momento l'unica soluzione che ho è generare gli eventi onclick esplicitamente su ogni cella durante il rendering dell'HTML, il che rende l'HTML molto più grande.
foo($('#docId').val(), $(this).attr('id'));
riga? - Suggerimento per prestazioni extra: memorizza nella cache il risultato dei selettori, ad esempio mantieni il risultato di $(this)
in una variabile e poi usalo nel tuo gestore secondo necessità.