将javascript分配给ajax查询中的元素

时间:2014-02-15 20:46:44

标签: javascript jquery html ajax javascript-events

我有一个简单的代码:

<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<body>
<a href="#" class="plink">Click me</a>

<div class="cnt">

</div>
<script>
$(document).ready(function(){
   $(".plink").click(function(){
     alert("A");
   });

$.ajax({
            url: 'do.php?a=getinfo',                        
            type: 'POST',
            success: function(result) {
                $(".cnt").html(result);
            }
});
});
</script>
</body>
</html>

从ajax查询我得到了这个:

<a href="#" class="plink">Click me 2</a>

问题在于,当我点击我从ajax查询获得的链接(单击我2)时,为此链接分配的事件不起作用,即不显示警报(“A”)。 那么,有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

.click()不能与动态元素绑定。 试试这个,

$("body").on("click",".plink",function(e){
     alert("A");
});

否则

$(".plink").live(function(e){
         alert("A");
});

答案 1 :(得分:0)

您的ajax结果中的新元素没有绑定点击操作。试着用这个:

$(document).on('click', '.plink', function(){ alert("A"); });

而不是:

$(".plink").click(function(){ alert("A"); });