gpt4 book ai didi

jquery - jQuery 1.8.1 上的委托(delegate)?

转载 作者:行者123 更新时间:2023-12-01 07:57:59 27 4
gpt4 key购买 nike

我动态地将行加载到表中,并且在每个表的末尾都有该行的操作,例如编辑、隐藏、删除...

当我加载页面时,我在 DOM 就绪函数上运行,例如这样的编辑:

function editPostButtonEvent()
{
$('a.edit').on('click',function(event){
event.preventDefault();
//ziskanie id kategorie
id = $(this).data('id');
clicked = $(this);
//ajax
$.ajax({
url: domainName+'admin/cmspost/ajax_edit_post',
type: 'POST',
dataType: 'html',
data: { id: id },
success : function(data)
{
postEdit(data);
}
});
});
}

问题是,当 DOM 加载时它正在加载的元素上工作,但是当我使用 ajax 添加其中一些元素后,它根本不起作用。我相信事件与它们无关。

我知道我在每次 DOM 更改后都会运行该函数,但问题在于插件没有成功事件。我读到有一个委托(delegate)函数已被弃用,现在有 .on 函数,但它不适用于添加的元素。

有人可以帮助我吗?是否可以向所有元素(甚至不存在的元素)添加事件?

最佳答案

您可以使用event delegation 对于动态添加的元素:

$('body').on('click', 'a.edit', function(event){
// Your code here
})

关于jquery - jQuery 1.8.1 上的委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com