由于我不太擅长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/

10-11 13:06