[英]Getting the “RangeError: Maximum call stack size exceeded” error
我在Chrome中收到此JavaScript错误:
RangeError:超出最大调用堆栈大小[http:// localhost:5545 / assets / js / jquery.min.js:2]
有了这个click
事件:
$('.accept-answer-button').click(function() {
var id = $(this).parent().parent().attr('id').replace('answer_', ''),
b = this;
if ($('.accepted').length > 0) $('.accepted').click();
AP.AcceptAnswer(id, $(b));
});
AP.AcceptAnswer()
的代码是:
AP.AcceptAnswer = function(a, o) {
$.getJSON('/assets/ajax/accept-answer', {
qid: qid,
answer: a
}, function(data) {
if (data.success == true) {
if (data.type == 'accepted') {
var title = o.attr('data-unaccept-title').replace('{t}', data.time);
o.addClass('accepted').attr('title', title);
}
else if (data.type == 'unaccepted') {
var title = o.attr('data-accept-title').replace('{t}', data.time);
o.removeClass('accepted').attr('title', title);
}
}
else {
alert(data.error);
}
});
}; // end AP.AcceptAnswer()
我正在做$('.accepted').click();
只是当用户想要接受另一个答案时,不接受当前接受的答案(如果有的话)。
你确定类.accepted
和.accept-answer-button
没有指向同一个元素吗? 如果它们是您在执行此操作时以递归方式触发单击事件:
$('.accepted').click();
如果$('.accepted').length > 0
总是如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.