Я отримую помилку "Uncaught RangeError: Максимальний розмір стека викликів перевищено" на chrome. ось моя функція jQuery
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
Зауважте, що на сторінці є десятки тисяч комірок. Однак я зазвичай асоціюю переповнення стека з рекурсією, і в цьому випадку, наскільки я бачу, його немає.
Чи створює подібний лямбда автоматично генерує набір речей на стек? чи є якийсь спосіб його обійти?
На даний момент єдине рішення, яке я маю, - це генерувати події onclick явно в кожній комірці під час надання HTML, що робить HTML значно більшим.
foo($('#docId').val(), $(this).attr('id'));
рядок? - Порада щодо додаткової продуктивності: кешуйте результати селекторів - наприклад, зберігайте результат $(this)
у змінній і тоді використовуйте їх у вашому оброблювачі за потребою.