我有一个简单的代码:
<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”)。 那么,有什么方法可以解决这个问题吗?
答案 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"); });