我不敢相信我在问这个,但找不到明确的答案。我的 UL 从其中的两个项目开始,并通过 AJAX 调用进一步填充。我只是想将返回的项目附加到该 UL,并让它们像已经存在的两个一样“可点击”。
我已经看到了十几个不同的复杂、令人费解的答案,涉及 BIND、LIVE、DELEGATE、MAP - 所有这些都讨论了为什么不应该使用其他答案。尽管这些讨论都具有价值(我敢肯定),但似乎没有一个对像这样(看似)简单的事情给出明确的答案。当然,有一种直接的方法可以附加 LI,并让它使用为列表定义的 .click() 事件。
$.each(api, function(i,item) {
var listItem = "<li meeting_id='" + item.meeting_id + "'>" + item.meeting_name + "</li>";
$("#MeetingList").append(listItem);
/*Do Something here to bind the newly appended LI to the existing click event */
}