javascript - 如何更改 css 背景 onclick

标签 javascript jquery html css

请检查这个JSFiddle ,这里有两个名为step-wrapper的div,在这些step-wrapper div中有三个名为step-box的div。它的编写方式是,当单击 step-box div 时,其背景颜色会变为黄色。

我添加了一个重置​​按钮。我需要的是点击重置按钮,最后点击的 step-box div 的颜色应该变为白色。但是在这段代码中,当我点击重置按钮时,所有步骤框的背景颜色都会变为白色。

最佳答案

我相信这就是您要找的: https://jsfiddle.net/richardgirges/8m9qstg3/11/

我们正在保存对 lastClicked div 的引用,并在点击 reset 时专门针对它。像这样:

var $lastClicked = null;

$('.step_wrapper').on('click','.step_box',function () {
    $(this).parent().find('.step_box').css('background-color', '');
    $(this).css('background-color', '#fff000');
    $lastClicked = $(this);
});


$('.reset').on('click',function(){
    if ( $lastClicked ) {
        $lastClicked.css( 'background-color', '#fff' );
        $lastClicked = null;
    }
});

编辑:改进了代码。使用显式 var 实例化将其保持在范围内。

关于javascript - 如何更改 css 背景 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714471/

相关文章:

html - 如何在一行中显示三个文本字段

javascript - 使用 jQuery Cookie 在浏览器中存储 onclick 事件

php - 当另一个选择框更改时,Jquery 自动更改选择框值

javascript - 如何让函数等待事件发生?

javascript - D3 Y 轴上的旭日面包屑

javascript - 如何动态地将字符串文本附加到 Shiny 应用程序的正文中?

jquery - Django:使用 Jquery 的动态表单集只保存第一个表单集实例

javascript - JW播放器没有出现

javascript - 当定向到移动网站时,谷歌分析会丢失引荐来源网址的跟踪

javascript - 基于 PHP 条件在页面刷新时将复选框设置为 CHECKED