Javascript 如何在replaceWith()之后添加事件?

Javascript 如何在replaceWith()之后添加事件?,javascript,jquery,events,replacewith,Javascript,Jquery,Events,Replacewith,我需要在replaceWith()之后使用bind()添加一个事件,但元素仅在replaceWith()执行后才存在。 如何在加载元素后添加事件 我的代码如下所示: $.ajax({ type: 'GET', url: trElement.find(".editRecord").attr("href") + '?id=' + tdId.html(), success: function(data, textStatus, jqXHR) { trElemen

我需要在replaceWith()之后使用bind()添加一个事件,但元素仅在replaceWith()执行后才存在。 如何在加载元素后添加事件

我的代码如下所示:

$.ajax({ type: 'GET', url: trElement.find(".editRecord").attr("href") + '?id=' + tdId.html(), success: function(data, textStatus, jqXHR) { trElement.replaceWith(data); trElement.find(".btnEditRecord").bind("click", save); trElement.find(".btnCancelEditRecord").bind("click", cancel); } }); $.ajax({ 键入:“GET”, url:treelement.find(“.editRecord”).attr(“href”)+'?id='+tdId.html(), 成功:函数(数据、文本状态、jqXHR){ 替换为(数据); treelement.find(“.btnEditRecord”).bind(“单击”,保存); treelement.find(“.btnCancelEditRecord”).bind(“单击”,取消); } }); 如果可以,请举例说明


非常感谢。

调用
replaceWith
后,DOM中不再存在该元素。您需要将事件绑定到新元素:

var $data = $(data);
trElement.replaceWith($data);
$data.find(".btnEditRecord").bind("click", save);
$data.find(".btnCancelEditRecord").bind("click", cancel);

您刚刚将
treelement
替换为
data
,因此
treelement
已经不存在了,向其中添加事件处理程序没有用,将事件处理程序附加到
data
而不是在加载DOM时使用事件委派,因此动态加载新元素后无需执行任何操作。看见