在代码结束前更改css

时间:2012-05-05 13:43:54

标签: javascript jquery

我确定已经问过这个问题,但我找不到用google提供的好关键字。我甚至找不到我的问题的好标题。 我想这样做:

$(".selector").click(function() {
    $(this).css("background-color", "red");
    if (confirm("Do you want to do this ?") {
        // do this
    } else {
        $(this).css("background-color", "transparent");
    }
});

但只有在我确认之后才会解雇css。如何在确认之前(或在确认期间)开火?

感谢。

1 个答案:

答案 0 :(得分:1)

我敢打赌,这只是添加延迟(即使只是0毫秒)的简单问题。这将确保页面在确认消息出现之前重新绘制。

$(".selector").click(function() {
    $(this).css("background-color", "red");
    var _this = this;
    function confirmCode(){
        if (confirm("Do you want to do this ?") {
            // do this
        } else {
            $(_this).css("background-color", "transparent");
        }
    }
    setTimeout(function(){confirmCode()}, 0)
});

编辑:添加完整代码