我有一个带有“全选”选项的决斗列表框,“全选”后面的javascript是:

$('#' + source).remove().appendTo('#' + destination);


在源列表框包含数千个条目的情况下,我仅在Firefox中收到“警告:Java脚本无响应”消息(Chrome可以正常工作)。最糟糕的是,如果在消息后单击“继续”,操作将永远无法完成。 FF版本为41.0.1。

如果我了解FF的功能,我猜想它怀疑存在一个较长的(可能是递归的)循环并试图拦截它,但是我不认为是这种情况,并且如果它表现出来,我也无法发布给人们这条路。

有什么办法可以更改JavaScript,以便FF不会抱怨吗?有没有一种更有效的纯JS方法来完成.appendTo()而不引起FF困扰?

最佳答案

为什么要呼叫removeappendTo将移动元素;这里没有理由在appendTo上链接remove ...正如James所说,在DOM中具有成千上万个节点不是好的UX,但是无论哪种方式,代码都应清理为:

$('#' + source).appendTo('#' + destination);

关于javascript - 如何避免引发Firefox警告的jQuery调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32973417/

10-10 11:26