2017-06-20 57 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"); 
});