第一个jquery事件正在发生,但不是第二个

时间:2013-12-11 23:27:17

标签: javascript jquery html css

我试图在我的网页上进行分页,问题是我在第二次点击分页锚点时搞砸了某些东西并且无法正常工作。

这是我的代码

$('.pagination a').click(function(event){
    event.preventDefault();
    alert($('.pagination a:first').text()=='1');
    if($('.pagination a:first').text()=='1'){
        if($('.pagination a').index(this)!=0){
            var index_a_cambiar = $('.pagination a').index(this);
            $('tbody').html('');
            $('.pagination').html('');
            $('.pagination').html('<a href="#"><</a>');
            for ( var j = 0; j < cant_pag; j++ ) {                  
                var textact1 = $('tbody').html();
                $('tbody').html(textact1+'<tr>'+arreglo_td[index_a_cambiar][j]+'</tr>');
                var textact2 = $('.pagination').html();
                if(j==index_a_cambiar){
                    $('.pagination').html(textact2 + '<a href="#" id="activo">'+(j+1)+'</a>');
                }else{
                    $('.pagination').html(textact2 + '<a href="#">'+(j+1)+'</a>');
                }
            }
            var textact3 = $('.pagination').html();
            $('.pagination').html(textact3+'<a href="#">></a>');
        }
    } else{
    }
});

我知道我的其他内容没有任何内容,但我可以看到这个脚本没有运行,因为preventDefault方法不起作用,我没有收到第一个警报。

由于

1 个答案:

答案 0 :(得分:2)

这是因为您要替换pagination元素内容,因此绑定到a的事件不再存在。您可以使用事件爆燃来解决此问题,方法是将事件绑定到DOM中存在于任何时间点的容器(例如.pagination,如果那是您需要事件时可用的那个)。

$('.pagination').on('click', 'a', function(event){
.....
....