크롬에서 "Uncaught RangeError : Maximum call stack size exceeded"오류가 발생합니다. 여기 내 jQuery 함수입니다.
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
페이지에는 수만 개의 셀이 있습니다. 그러나 일반적으로 스택 오버플로를 재귀와 연관시키고이 경우에는 아무것도 없다는 것을 알 수 있습니다.
이와 같은 람다를 생성하면 스택에 많은 항목이 자동으로 생성됩니까? 그 주위에 방법이 있습니까?
현재 유일한 해결 방법은 HTML을 렌더링 할 때 각 셀에서 명시 적으로 onclick 이벤트를 생성하는 것이므로 HTML이 훨씬 더 커집니다.
foo($('#docId').val(), $(this).attr('id'));
줄에 주석을 달 때이 오류가 발생합니까 ? -추가 성능 팁 : 선택기의 결과를 캐시합니다. 예를 들어 $(this)
변수 의 결과를 유지하고 필요에 따라 핸들러에서 사용하는 것보다.