2014-11-04 76 views
0

我正在追加一個DIV到現有的DIV。附件正在工作並顯示,但我的div需要可點擊。目前我無法使用onclick工作。我試圖讓每個附加有一個獨特的類或ID,仍然不可點擊div。DIV在使用JQUERY追加後不可點擊()

MY JQUERY

$("#searchUsersText2").keypress(function() { 
    var y = $('#searchUsersText2').val(); 
    if ($('#searchUsersText2').val()){ 
     $.ajax({ 
      type: "POST", 
      url: '../home/findUser.php', 
      data: "dataString="+y, 
     success: function(data) { 
      $("#searchUsersBodyResults2").empty(); 
      $("#searchUsersBodyResults2").append("<div class='inputs'>"+data+"</div>"); 
     } 
    }); 
} 
}); 
$("#searchUsersText2").click(function() 
{ 
    $("#searchUsersContainer2").fadeToggle(300); 
}); 

$(".inputs").click(function() 
{ 
    alert("SUCCESS"); 
}); 

我的HTML

<!DOCTYPE html> 
<html> 
    <head> 

     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     <script src="http://www.croeberdemo.site40.net/external/listItems.js"></script> 
    </head>  
    <body > 


      <ul id="nav"> 
      <li id="searchUsers2"> 
       <a href="#" id="searchUsersLink2"> 
        <input id="searchUsersText2" placeholder="Search for Users" /> 
       </a> 
       <div id="searchUsersContainer2"> 
        <div id="searchUsersBodyResults2" class="notifications"> 
        </div> 
       </div> 
      </li> 
      </ul> 
</html> 
+0

它已經回答[上百次(https://www.google.co.uk/search?q=attach+dynamic+element+site:stackoverflow.com) – George 2014-11-04 14:35:47

+0

當你追加事件ISN沒有添加到分區。然而,jQuery有一個特殊的方法:'$('#searchUsersBodyResults2「)。on('click','div',function(){});'。這將綁定到父級,並且當一個新div被添加到那個父母的點擊事件也加入到了這個div中 – JKaan 2014-11-04 14:36:44

+0

@George我只是覺得很懶,不會從谷歌那裏選擇這個問題,而是通過使用這個問題進行近距離投票,等待某個人這樣做,你發起了它,我剛剛完成 – 2014-11-04 14:42:02

回答

1

嘗試在這種情況下使用event-delegation

$("#searchUsersBodyResults2").on("click", ".inputs", function() { 
    alert("SUCCESS"); 
}); 
+0

工作正常。請注意解釋? – user3715962 2014-11-04 14:36:54

+0

@ user3715962您可以查看我的鏈接在我的答案中提供.. ?? – 2014-11-04 14:38:21

0

根據不同的程序,你可能會賭如果只是在你的ajax回調中綁定事件。

$("#searchUsersText2").keypress(function() { 
var y = $('#searchUsersText2').val(); 
if ($('#searchUsersText2').val()){ 
    $.ajax({ 
     type: "POST", 
     url: '../home/findUser.php', 
     data: "dataString="+y, 
     success: function(data) { 
      $("#searchUsersBodyResults2").html("<div class='inputs'>"+data+"</div>"); 
      $("#searchUsersBodyResults2 .inputs").click(function(){ 
        alert("SUCCESS"); 
      }); 
     } 
    }); 
}