由于我不太擅长CSS,因此我尝试通过使用jquery addClass将CSS“ glow”类添加到DIV中来模拟按下按钮的行为(:active,我认为..),然后稍加延迟将其删除
这就是我写代码的方式:
$( ".cpUpbtnsclass" ).on('click', function() {
console.log($( this ).attr('id')+" is clicked and a class will be added ! ");
$( this ).addClass( "glow");
setTimeout(function(){
$( this ).removeClass( "glow");
},300);
});
这是我要添加的课程:
.glow {
box-shadow: 0px 0px 15px 5px rgba(255, 255, 190, .75);
}
我看到添加了addClass的辉光效果,但是300毫秒后我看不到它消失了。
最佳答案
超时创建了一个新的作用域,其中this
不再是元素:
$( ".cpUpbtnsclass" ).on('click', function() {
var self = this;
$( this ).addClass( "glow");
setTimeout(function(){
$( self ).removeClass( "glow");
},300);
});
关于jquery - 尝试使用DIV模拟事件按钮时,jQuery removeClass不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20122796/