.live('click',fn与遍历一起使用时出现问题

时间:2013-02-13 08:16:14

标签: jquery

好的,所以我有一个通常加载没有ajax的元素,但是然后单击它通过ajax重新加载(以及其他内容)。不,我无法在点击时加载点击元素非ajax。

除了我在.live点击事件中执行以下操作外,一切正常:

$('.product-sort a.type-a').removeClass('active');
$(this).addClass('active');

现在它第一次正常工作。但是第二次/第三次取决于我点击的元素,它不只是删除类型-a它还从type-b元素中删除了活动类...我做了console.log($('.product-sort a.type-a'))并且在ajax之后元素加载两次。解决方案只是简单地ajax加载导航开始,所以没有predom / postdom元素?还是有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

您是否将正确的类应用于重新加载的DOM元素,因为如果您选择了选择器,则不应该失败。您可以将.type-a类应用于应为.type-b的锚点,或者您应用这两个类。

另外一条建议live()已在jQuery 1.7中弃用,在1.9中删除,请改用on()