javascript - 如何将点击事件附加到 css 样式的复选框

标签 javascript jquery html css

很难附加点击事件。我只想在用户选中复选框时进行一些计算。 选中复选框时,跨度的类在未选中时变为“已选中”和“未选中”。 不显示输入复选框,并且在选中时不应用其属性“已选中”,这使得它变得更加困难。

HTML:

<div class="checkboxBtn" style="border:1px solid blue;">
    <span class="cheked" style="width:20px;height:20px;border:1px solid red;" 
     onclick="CheckSelected();">
    </span>
    <input id="23" type="checkbox" style="border:1px solid green;"></input>
    <label>Compare Now</label>
</div>

这些都不起作用:

JS:

$(document).ready(function () {
        $(".cheked").click(function () {
            alert(".cheked");
        })
        $(".uncheked").click(function () {
            alert(".uncheked");
        })
    })
function CheckSelected() {
        alert("");
        return false;
    }

enter image description here

这是否不起作用,因为可能已经有一个点击事件来显示刻度图像。 如果已经存在,我如何才能在不影响现有功能的情况下完成我的任务。

最佳答案

试试这个 - 将 class 应用于 Checkbox 并绑定(bind) change 事件。

<div class="checkboxBtn" style="border:1px solid blue;">
    <span class="cheked" style="width:20px;height:20px;border:1px solid red;" 
     onclick="CheckSelected();">
    </span>
    <input id="23" class="chkBx" type="checkbox" style="border:1px solid green;"></input>
    <label>Compare Now</label>
</div>

$(document).ready(function() {    


    $('.chkBx').change(function() {
        if($(this).is(":checked")) {
         $(this).closest('span').removeAttr('class');
         $(this).closest('span').addClass('checked');
        }
        else{
         $(this).closest('span').removeAttr('class');
         $(this).closest('span').addClass('unchecked');
        }                
    });
});

关于javascript - 如何将点击事件附加到 css 样式的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987561/

相关文章:

javascript - 在 for 循环中递增 [i] 不起作用

javascript - 按下按钮使 $ ("body").css ("height":"100%")

javascript - div 在同一 body 内重叠另一个

html - 如何仅在悬停时在整个描述周围添加边框?

javascript - CSS/JavaScript : multiple columns

HTML 用户输入的 JavaScript 问题

javascript - 将多个文件注入(inject)书签

javascript - 三人组 : Store jsonModel into a class variable

jquery - 在 Slick Slider 中显示下一张幻灯片的一半,无需居中模式

javascript - 防止在 jquery 上调用同一个类