Recibo el error "Error de rango no detectado: se excedió el tamaño máximo de la pila de llamadas" en Chrome. aquí está mi función jQuery
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
Tenga en cuenta que hay decenas de miles de celdas en la página. Sin embargo, generalmente asocio los desbordamientos de pila con la recursividad y, en este caso, por lo que puedo ver, no hay ninguno.
¿Crear una lambda como esta genera automáticamente una gran cantidad de cosas en la pila? ¿Hay alguna forma de evitarlo?
Por el momento, la única solución que tengo es generar los eventos onclick explícitamente en cada celda al representar el HTML, lo que hace que el HTML sea mucho más grande.
foo($('#docId').val(), $(this).attr('id'));
línea? - Consejo de rendimiento adicional: almacene en caché el resultado de los selectores; por ejemplo, mantenga el resultado de $(this)
en una variable y luego úselo en su controlador según sea necesario.