【发布时间】:2009-12-12 00:15:32
【问题描述】:
我指定了以下 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”。解析“背景颜色”的值时出错。声明被放弃。 行:0
Firebug 返回太多递归。
为什么当我点击实际复选框时点击标签会有所不同?
【问题讨论】:
-
你不应该使用
.parent('li')而不是.parents('li') -
不是直接父,需要通过多个父查找li :)
-
如果列表是嵌套的,您可能想尝试最接近('li')来获取第一个 li。
标签: jquery checkbox click live