我有以下指定的jquery代码。
$('#firstbox ul.checkboxlist input[type="checkbox"]').live('click',function(){
$(this).parents('li').remove().clone().prependTo('#secondbox ul.checkboxlist').animate({backgroundColor: '#FAEA96'},100, function(){$(this).animate({backgroundColor: '#FFFFFF'},800);});
当你点击复选框时,它取走li,删除它,并把它放到第二个盒子里。在IE中运行良好。如果我点击标签上的文本,它也能正常工作。但是,如果我在firefox上直接点击复选框,firefox就会变慢,大约10/15秒,并记录这些错误。
警告。在rgb()中期待数字或百分比,但发现'NaN'。 在解析'background-color'的值时出错。 声明删除。
Firebug返回过多的递归。
为什么我点击标签和点击实际的复选框时不一样呢?
你在使用jQuery UI吗?如果你想对背景颜色进行动画处理,你至少需要使用核心效果。 另外,你有没有试过不使用clone()的情况? 因为你正在删除之前列表中的元素,你应该不需要克隆它们。 你也可以尝试使用 highlight ()效果--这似乎是你正在做的事情。
这些都没有解决你的确切问题,即为什么FF似乎有不同的处理方式,但希望其中一个能解决这个问题。