在ajax不工作之后执行jquery代码

时间:2014-05-08 10:33:16

标签: jquery ajax

我正在进行ajax调用,在页面中打印一些链接。我想点击这些链接中的任何一个来做类似警报的事情,但它不起作用

这是document.ready代码

setTimeout(getFur(),500);

$("#curFur a").on("click",function() {
    alert("clicked");
});

和getFur函数(php变量没有任何问题,因为有一些php查询,并且ajax没有问题)

var ajax = false;
ajax = new XMLHttpRequest();
var qst = "?roomid=<?=$roomID?>&lang=<?=$lang?>";
ajax.open("POST","ajax/curfur.php"+qst);
ajax.onreadystatechange = function(){
    if(ajax.readyState == 4 && ajax.status == 200){
        $("#curFur").html(ajax.responseText);
    }
}
ajax.send(null);

现在的问题是点击链接什么都不做我甚至试图删除这些链接但是没有工作

$("#curFur a").remove();

2 个答案:

答案 0 :(得分:1)

由于您的锚已通过AJAX调用动态添加到DOM,因此您需要使用 event delegation 将新案例click附加到这些新事件中增加了锚点:

$('#curFur').on("click",'a',function() {
    alert("clicked");
});

答案 1 :(得分:0)

getFur()立即执行

setTimeout(getFur(),500);

更改为

setTimeout(getFur,500);

   setTimeout(function() {
       getFur();

  },500);