2017-06-20 74 views
0

我使用ajax创建动态div,并希望得到通知,当我点击里面的“id”id ='listall',但它不工作,为什么? 如何纠正它。感谢 这里是代码:Ajax创建动态div不支持点击功能,为什么?

$(function(){ 


$.ajax({ 
      type: "GET", 
      url: 'http://XXX:8080/', 
      dataType:'json', 
      contentType:"application/json", 
      success:function(data){ 
       console.log(data); 
       var projectList="<ul style='list-style:none;'>" 

       for (var i = 0; i < data.data.length; i++) { 

         projectList += "<li><div id='listall'><a href='/projectDetail'>"+ 
          "<img class='back' src='data.data[i]'></li>" 
       } 
      var projectList +="</ul>" 

      }, 
      error:function(){ 
        alert("connection error"); 
      } 
}); 



    $('#listall').on('click', 'a', function(){ 
      console.log('click!'); 
      alert("finally"); 
    }); 
}); 
+0

而不是'$( '#listall')'使用静态元素 – Satpal

+0

我一个通过点击函数的id,我想提醒id的值,通过这样做,我得到null,我应该如何纠正它? var projectId = null; ('click','#listall a',function(){ projectId = this.id; // id = 30 }); alert(projectId);谢谢 –

回答

3

代表事件

$('body').on('click', '#listall a', function(){ 
      console.log('click!'); 
      alert("finally"); 
    }); 
+0

谢谢,我想获取点击a的id并在函数外部提醒它,我怎么能这样做? $('body')。on('click','#listall a',function(){ var projectId = this.id; }); alert(projectId);这不工作显示未定义 –

2

你应该使用

$(document).on('click','#listall a',function(){ 
    console.log('click!'); 
     alert("finally"); 
});