gpt4 book ai didi

javascript - jQuery 无法识别 .get 请求中的类更改

转载 作者:行者123 更新时间:2023-11-28 16:03:18 24 4
gpt4 key购买 nike

我从 node.js 服务器获取一些数据,这些数据会影响我的一些元素的类。

$.get('/example', function (data)
{
//changes element 1 to .newclass from .oldclass
});

不幸的是,get 请求之外的事件处理程序无法识别更新的类。

$('.oldclass').click(function ()
{
//affects both element 1 and 2
});

如果我将单击事件处理程序嵌套在 get 中,问题就不再存在。我怀疑这与异步请求有关,但我不完全确定。有人可以向我解释为什么会发生这种情况以及如何解决它而不将我的代码嵌套在每个 get 请求中吗?

最佳答案

您应该使用事件委托(delegate):

$('body').on('click', '.oldclass', function() { /* whatever */ });

通过这样做,您可以捕获具有“oldclass”的元素上的事件,而不管 DOM 的动态更新如何。在您的代码中,您在代码运行的瞬间发现了带有“oldclass”的元素。如果元素随后发生更改,这些事件处理程序不会消失。

没有必要将委托(delegate)事件处理程序卡在 body 元素上,但这是最简单的事情。一般来说,它可以是任何适当的父元素,并且它将处理匹配后代的事件。

关于javascript - jQuery 无法识别 .get 请求中的类更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16174327/

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