单击由ajax加载的锚点上的触发器

时间:2013-04-09 00:25:47

标签: javascript jquery ajax

我正在尝试在由ajax动态生成的锚点上使用ajax触发器。

这是我尝试过但没有成功且没有错误:

        $('.excelDL').live('click', function(e){
            $.ajax({
                url: 'exceldl.php',
                data: $('#myForm').serialize(), 
                type: 'POST', 
                success: function(data){
                    $('.xldl').html(data);
                    attach = $('.xldl a').attr("href");

                    $('.xldl a').trigger('click');
                }
            });
        });

我相信这是因为我使用AJAX将新元素插入到DOM中,触发器无效,这就是我尝试使用live的原因。我不确定如何继续解决这个问题。

我感谢任何建议。

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

使用“on”代替“live”

    $(document).on('click','.excelDL',function(e){
        $.ajax({
            url: 'exceldl.php',
            data: $('#myForm').serialize(), 
            type: 'POST', 
            success: function(data){
                $('.xldl').html(data);
                attach = $('.xldl a').attr("href");

                $('.xldl a').trigger('click');
            }
        });
    });

jquery on documentation:http://api.jquery.com/on/

jquery live在1.7之后弃用