gpt4 book ai didi

javascript - 当通过 ajax 加载表单时,jQuery 的 live 和 livequery 对我不起作用

转载 作者:行者123 更新时间:2023-11-30 06:08:53 25 4
gpt4 key购买 nike

我之前问过类似的问题How can I have jquery attach behavior to an element after inserting it ,但仍未找到答案。为了清楚起见,我用不同的例子提出了一个新问题。

这是我的代码,但它不起作用。

$(document).ready(function() {  
$('form.edit_color').live('submit', function(){
var form = $(this).closest('form');
var colorRow = $(this).closest('tr');
var action = $(form).attr('action');
var formData = $(form).serialize();
$(colorRow).fadeOut();
$.post(action, formData,
function(data) {
$(form).replaceWith(data);
$(colorRow).fadeIn();
});
return false;
});
});

发生的事情是这样的,对于我的每个表单,我都可以通过 ajax 提交它们并将其替换为更新后的表单。但是,当我点击新的提交按钮时没有任何反应。

最佳答案

要添加到 bobince,live 使用 event delegation “附加”事件的技术。它的工作原理是所有事件最终都会传播到 DOM 中的最高父级 (window.document),因此如果您只将一个事件处理程序附加到文档,然后根据原始目标运行不同的事件处理程序的事件。

然而,有些事件不会传播。 submit 就是其中之一。所以你不能在那里使用事件委托(delegate)。

关于javascript - 当通过 ajax 加载表单时,jQuery 的 live 和 livequery 对我不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1786934/

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