Javascript 切换两个类

Javascript 切换两个类,javascript,jquery,Javascript,Jquery,为什么我不能在这个代码段中使用toggleClass('glyphicon-remove glyphicon ok') var相; $(.btn默认值”)。在(“单击”,函数()上{ $(this).find('.glyphicon').toggleClass(“glyphicon删除glyphicon确定”); }); label.btn{ 页边距底部:0; 填充:0; 溢出:隐藏; } 跨度{ 显示:块; 填充:6px 12px; } 输入[类型=复选框]{ 显示:无; } 输入:选中+s

为什么我不能在这个代码段中使用
toggleClass('glyphicon-remove glyphicon ok')

var相;
$(.btn默认值”)。在(“单击”,函数()上{
$(this).find('.glyphicon').toggleClass(“glyphicon删除glyphicon确定”);
});
label.btn{
页边距底部:0;
填充:0;
溢出:隐藏;
}
跨度{
显示:块;
填充:6px 12px;
}
输入[类型=复选框]{
显示:无;
}
输入:选中+span{
显示:块;
颜色:#fff;
背景色:#285e8e;
}
}

A.
B
C

这是因为
合成*
单击
输入上的“完成”
。事实上,单击事件在标签级别触发两次

一种解决方案是按事件目标进行筛选:

var相;
$(“.btn默认值”)。在(“单击”上,函数(e){
if(!$(e.target).is('input')返回;
$(this).find('.glyphicon').toggleClass(“glyphicon删除glyphicon确定”);
});
label.btn{
页边距底部:0;
填充:0;
溢出:隐藏;
}
跨度{
显示:块;
填充:6px 12px;
}
输入[类型=复选框]{
显示:无;
}
输入:选中+span{
显示:块;
颜色:#fff;
背景色:#285e8e;
}
}

A.
B
C