我正在使用 Bootstrap单选按钮 ,希望能够允许取消选择单选组。可以通过使用额外的按钮(Fiddle)来实现。然而,我想在选项处于活动状态时,单击选项可以取消所选单选选项,而不是使用额外的按钮。
我该如何成功地切换所选选项而不使用超时?谢谢您的帮助。
我已经尝试过这样做
$(".btn-group label").on("click", function(e) {
var clickedLabel = $(this);
if ($(clickedLabel).hasClass("active"))
{
// an active option was clicked => deselect it
$(clickedLabel).children("input:radio").prop("checked", false)
$(clickedLabel).removeClass("active");
}
}
)
但似乎存在竞争条件:我使用的标签点击事件似乎被bootstrap.js用于将被点击的标签选项设置为“active”。如果我引入一个超时,类“active”会成功地被移除:
$(".btn-group label").on("click", function(e) {
var clickedLabel = $(this);
if ($(clickedLabel).hasClass("active"))
{
setTimeout(function() {
// an active option was clicked => deselect it
$(clickedLabel).children("input:radio").prop("checked", false)
$(clickedLabel).removeClass("active");
}, 500)
}
}
)
我该如何成功地切换所选选项而不使用超时?谢谢您的帮助。