gpt4 book ai didi

javascript - jQuery click 事件只工作一次,但第二次就不行了

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:29 25 4
gpt4 key购买 nike

jQuery 单击事件只工作一次,但第二次不是 Fiddle

$('.animateBtn').on('click', function() {
$(this).addClass('OFF');
$(this).next('div').addClass('animate');
var btnText = $(this).text('Aniamte ON');
if($(this).next('div').hasClass('animate')) {
$(this).text('Aniamte OFF')
}
$('.OFF').on('click', function() {
if($(this).hasClass('OFF')){
$(this).removeClass('OFF');
$(this).next('div').removeClass('animate');
$(this).text('Aniamte ON')
}
})
})

最佳答案

使用事件委托(delegate)来处理动态变化的类。

$(document).on('click', '.animateBtn', function () {
$(this).addClass('OFF').removeClass('animateBtn');
$(this).next('div').addClass('animate');
var btnText = $(this).text('Aniamte ON');
$(this).text('Aniamte OFF');
});
$(document).on('click', '.OFF', function () {
$(this).removeClass('OFF').addClass('animateBtn');
$(this).next('div').removeClass('animate');
$(this).text('Aniamte ON')
});
.animate {
background: url(http://lorempixel.com/100/100);
height: 100px;
width: 100px;
-webkit-animation: slide 2s linear infinite;
-moz-animation: slide 2s linear;
animation: slide 2s linear infinite;
}
@-webkit-keyframes slide {
0% {
background-position: 0 0;
}
100% {
background-position: 100px 0;
}
}
@-moz-keyframes slide {
0% {
background-position: 0 0;
}
100% {
background-position: 100px 0;
}
}
@keyframes slide {
0% {
background-position: 0 0;
}
100% {
background-position: 100px 0;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<button class="animateBtn">Animate ON</button>
<div>
</div>
</div>

关于javascript - jQuery click 事件只工作一次,但第二次就不行了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30451824/

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