Estou recebendo o erro "Uncaught RangeError: Tamanho máximo da pilha de chamadas excedido" no cromo. aqui está minha função jQuery
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
Observe que existem dezenas de milhares de células na página. No entanto, geralmente associo overflows de pilha com recursão e, neste caso, até onde posso ver, não há nenhum.
A criação de um lambda como esse gera automaticamente uma carga de coisas na pilha? existe alguma maneira de contornar isso?
No momento, a única solução que tenho é gerar os eventos onclick explicitamente em cada célula ao renderizar o HTML, o que torna o HTML muito maior.
foo($('#docId').val(), $(this).attr('id'));
linha? - Dica de desempenho extra: armazene o resultado dos seletores em cache - por exemplo, mantenha o resultado de $(this)
em uma variável e, em seguida, use-o em seu manipulador conforme necessário.