2013-03-19 128 views
0

我有一个脚本,使表响应(脚)。这对我的需求非常好,但我使用了一些ajax来引入更多的表格行,但脚本不会影响这些新行。删除影响JQuery脚本?

我试图在我的ajax完成后重新启动脚本,但它不起作用。

我的问题是,我可以删除影响jquery,以便我可以在数据加载后重新应用它?

我的jQuery:

jQuery(document).ready(function ($) { 
table(); 

$('#moreevent').click(function(){ 
var last = $('#the-event tr').length; 
$.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: { levent: last } 
}).done(function(data) { 
    $('#the-event').append(data); 
    cardbox(); 
    table(); 
}); 

return false; 
}); 

}); 

function cardbox(){ 
jQuery('.e-info-more-cont').hide(); 
jQuery('.e-info-more').mouseover(function(){ 
    jQuery(this).css({"z-index":"1001"}); 
    jQuery(this).nextAll(".e-info-more-cont").show(); 
}).mouseout(function(){ 
    jQuery(this).nextAll(".e-info-more-cont").hide(); 
    jQuery(this).css({"z-index":""}); 
}); 
} 

function table(){ 

jQuery('.footable').footable(); 
} 
+0

已知问题:https://github.com/bradvin/FooTable/issues/32 – 2013-03-19 15:50:41

+0

啊,这就是问题所在。我想你没有找到解决办法吗? – jhodgson4 2013-03-19 15:58:31

回答

1

您正在使用.click()它已被弃用,不处理动态添加的项目。根据您的jQuery版本,或者使用.on()(推荐),或.live()

编辑:作为建议,.click()不会被弃用,但它仍然建议使用.on()尽可能。

+3

'click()'肯定不会被弃用 – 2013-03-19 15:50:19

+0

.click()不被弃用。但是,.live()是。 – 2013-03-19 15:51:57

+0

从我记忆中,有人建议避免它。在更新的版本中,由于人们继续使用它,所以它现在被别名为'.on()'。修改后的答案与您的反馈。 – hexblot 2013-03-19 15:52:49