【发布时间】:2015-03-30 18:28:24
【问题描述】:
我发现这段代码是为了在 JavaScript 中突出显示。当我在自己的机器上而不是 jsFiddle 上运行并运行时,我收到了以下错误。
未捕获的 RangeError:超出最大调用堆栈大小
http://jsfiddle.net/jme11/bZb7V/
为了解决这个问题,我查看了 StackOverflow 上的其他问题并添加了 setTimeout() 函数,但我仍然收到错误消息。怎么会?
function getSelection()
{
var seltxt = '';
if (window.getSelection)
{
seltxt = setTimeout(window.getSelection(), 5000);
}
else if (document.getSelection)
{
seltxt = setTimeout(document.getSelection(), 5000);
}
else if (document.selection)
{
seltxt = setTimeout(document.selection.createRange().text, 5000);
}
else return;
return seltxt;
}
【问题讨论】:
-
您必须将函数传递给 setTimeout,而不是其结果:
setTimeout(function),而不是setTimeout(function()) -
@georg 这个我试过了,还是报同样的错误
标签: javascript jquery html