[英]Event binding with dynamic ID
我有一些div,這些div是通過PHP腳本動態創建的,並通過AJAX顯示在頁面上。 這些div上具有打開模態的鏈接。 頁面首次加載時,鏈接會很好用。 當腳本更新且頁面上顯示新數據時,新數據的鏈接不起作用。 因此,我發現我需要通過.on(click)綁定事件。
這是我遇到的問題,因為它們不是要綁定的靜態ID。 這些ID是根據通過第三方API創建的JSON文件中的ID動態生成的。
$AlertData .= "<div class='alert__view' id='eventID'>\n";
$AlertData .= "<a href='#{$eventID}' data-toggle='modal' data-backdrop='false' data-target='#{$eventID}'><i class='fa fa-info-circle'></i></a>\n";
$AlertData .= "</div>\n";
$ eventID是鏈接和要打開的鏈接模態的ID。 那么我該如何將動態ID綁定到通過解析JSON文件通過PHP生成的動態ID? 現在我知道的一件事是,由於鏈接使用了動態ID,因此我可以將該函數綁定到其中一個父對象。 在這種情況下,是“ eventID”,但這仍然讓我動態地生成目標ID,我不確定該如何處理,還是應該將模式包裝成新的,以便分配父ID來處理?
這是更新PHP文件以在頁面上顯示更新的數據/信息以及我認為應該添加的事件綁定的代碼段。
$.ajax({
url: "inc/alertsTX.php",
cache: false,
success: function(data){
$("#svrAlertsTX").html(data);
$('#eventID'.on('click', function () {
$(#$eventID).html(data);
}
}
});
綁定時使用selector
.on( events [, selector ] [, data ], handler )
像這樣
$('.alert__view').on('click', 'a', function () { ...
或者您可以綁定鞋幫(不推薦)
$('body').on('click', '.alert__view > a', function () { ...
來自文檔
提供選擇器后,事件處理程序稱為“委托”。 當事件直接發生在綁定元素上時,不調用處理程序,而僅對與選擇器匹配的后代(內部元素)進行調用。
委派事件的優勢在於,它們可以處理來自后代元素的事件,這些事件在以后的時間添加到文檔中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.