gpt4 book ai didi

jquery - .live()、.delegate() 或 .on() 都不适用于动态加载到页面的表单

转载 作者:行者123 更新时间:2023-12-01 00:00:53 24 4
gpt4 key购买 nike

我有一个无限滚动的页面。 ajax 功能对于最初加载时页面上存在的表单可以正常工作,但对于从无限滚动 ajax 功能加载的表单不起作用。我已经搜索了大约 5 天试图找到答案,但还没有。这是 JavaScript 的一部分:

$("form:not(.member)").submit(function() {
var status_id = $('#status_id').val(),
etc..........

使用 :not(.member) 部分的原因是页面上的其他表单(例如搜索表单)不包含在脚本中。

我已经尝试过

 $("form:not(.member)").live('submit', function() {

 $("form:not(.member)").on('submit', function() {

以及

 $('body').delegate('submit', 'form:not(.member)', function() {

这些都不适用于初始页面加载后加载的表单。有人还有其他建议吗?顺便说一句,我正在使用jquery 1.7.1。我也尝试过

$("form:not(.member)").bind('submit', function()

最佳答案

您在这里使用了错误的事件委托(delegate)。

表单动态加载,因此当代码运行时它们不会包含在$("form:not(.member)")中,它们不会还不存在。

在包含表单的父元素上使用委托(delegate):

$('#formsContainer').on('submit', 'form:not(.member)', function() {
...
});

关于jquery - .live()、.delegate() 或 .on() 都不适用于动态加载到页面的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963154/

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