gpt4 book ai didi

javascript - 更改元素的类属性仍然调用旧事件

转载 作者:行者123 更新时间:2023-12-01 01:09:55 25 4
gpt4 key购买 nike

场景

我有 class=anchor anchor ,单击它会将其自己的类更改为 anchor2。两次点击事件:anchor &anchor2alert($(this).attr('id'))

问题

问题是,将其类更改为 anchor2 后,它仍然调用旧事件来提醒 anchor2 类

发生什么事了? https://jsfiddle.net/3kzs7n9r/13/

编辑

这是我的代码:

<a href="#" class="anchor">Click me</a>

<script>
$('.anchor').on('click', function () {
alert('anchor clicked with class: '+$(this).attr('class'));
$(this).attr('class', 'anchor2');
});

$('.anchor2').on('click', function () {
alert('anchor clicked with class: '+$(this).attr('class'));
$(this).attr('class', 'anchor');
});
</script>

最佳答案

您需要以不同的方式注册您的点击事件,因为当您注册anchor2事件时,该元素不存在于DOM上。

<script>
$(document).on('click','.anchor', function () {
alert('anchor clicked with class: '+$(this).attr('class'));
$(this).attr('class', 'anchor2');
});

$(document).on('click','.anchor2', function () {
alert('anchor clicked with class: '+$(this).attr('class'));
$(this).attr('class', 'anchor');
});
</script>

关于javascript - 更改元素的类属性仍然调用旧事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253346/

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