2017-09-10 26 views
0

我嘗試通過jQuery加載div,我想在動態創建的元素上設置一個點擊事件,該請求向php-script發出請求,然後重新加載div。 不幸的是,重裝後沒有設置事件。 我的代碼迄今看起來像這樣:在jQuery中重新加載div和設置事件

$(document).ready(function() { 
    $("#incomplete").load("incompleteTasks.php", '', function() { 
      //Setting Click-Events 
      $(".btn_aufg").click(function() { 
      window.alert($(this).attr("id")); 
      var encoded = encodeURIComponent($(this).attr("id")); 
      //Marking Task as completed... 
      $(this).load("taskworker.php?action=complete&id=" + encoded); 
      //reloading div 
      $("incomplete").load("incompleteTasks.php"); 
    }); 
}); 

});

如何在用戶點擊按鈕後再次激活事件?

+0

你應該創建[委派事件](https://learn.jquery.com/events/event-delegation/) – vsync

回答

0

操作方法......

$(document).("click",".btn_aufg",function() { 
    var encoded = encodeURIComponent($(this).attr("id")); 
    $(this).load("taskworker.php?action=complete&id=" + encoded); 
    //reloading div 
    $("#incomplete").load("incompleteTasks.php"); 
}); 

$("#incomplete").load("incompleteTasks.php"); 
+0

謝謝,但它應該是$(document).on(「click」,「。btn_aufg」,function()而不是$(document)。(「click」,「。btn_aufg」,function(){ – BirdyB

0

使用on代替

$("body").on("click", ".btn_aufg", function() { 
    //Click function 
});