我正在尝试在由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
的原因。我不确定如何继续解决这个问题。
我感谢任何建议。
非常感谢提前!
答案 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之后弃用