Twitter引导程序:删除/切换类似复选框的按钮组的活动状态
Twitter Bootstrap: Remove/Toggle the active state of checkbox-like button group
使用twitters Bootstrap,我创建了一个具有单选框行为的按钮组,让用户在不同状态之间进行选择。这是开箱即用的。
我安排了一个jsFiddle,示例如下:http://jsfiddle.net/jpxWj/
我尝试过(并且想要)的是,当我第二次单击活动按钮时,可以删除按下的状态。
我尝试使用jQuerys removeClass()
从btn
类中删除active
类,但它不起作用(我也尝试过用.on()
删除,但这只是保持活动始终隐藏/删除)
在我看来,这是一个未知的事件现象。你可以在这里阅读更多关于它的信息。
编辑:
详细地说,简单的.removeClass
之所以不起作用,是因为有多个侦听器在侦听同一事件。因此,当click
事件被触发时,普通的.removeClass
会删除该类,但随后Twitter引导处理程序会再次添加它!为了防止在您的处理程序之后执行任何其他处理程序,您可以执行e.stopPropagation
。然而,这并不能停止附加到与您的元素相同的元素的处理程序,它只会停止树上更远的处理程序。为了完全确保在您的处理程序之后不会执行其他处理程序,可以使用event.stopImmediatePropagation()
。
Bootstrap 3更新:
$('body').on('click', '.btn-group .btn.active',function(e){
e.preventDefault();
e.stopImmediatePropagation();
$(this).find('input').removeAttr('checked');
$(this).removeClass('active');
});
相关文章:
- 创建一个复选框按钮的散列,这些按钮在单击时在Twitter Bootstrap Button组中处于活动状态
- 如何在单击复选框按钮时制作单选按钮
- Javascript错误,根据其他复选框的结果更新复选框/按钮
- 如何在带有复选框按钮的 HTML 弹出窗口中显示结果
- 如何验证只有复选框/按钮/选择的表单
- Jquery Mobile单击导航栏上的复选框按钮
- 清除复选框按钮不起作用
- 无线电/复选框按钮”;oncheck”;使用javascript检查/选择时的事件
- 修改动态创建的jQuery复选框按钮'
- 如何使用单选和复选框按钮验证javascript验证
- 点击复选框按钮,将显示文本框和提交按钮,点击提交按钮应禁用复选框按钮
- 使用jQuery从下拉菜单中选择复选框按钮时显示/隐藏特定的DIV
- 如何在运行时使用timece复选框按钮打开和关闭只读模式
- 复选框按钮被禁用,在JQuery中不起作用
- 如何在Django脆皮表单中使用JS启用/禁用复选框按钮
- 如何从引导复选框按钮组获取值
- 元素的原因.键入单选按钮或复选框按钮数组将返回“未定义”
- 过滤器使用"OR"为单个列提供多个过滤器逻辑通过网格外的复选框/按钮
- 如何选择单个或多个复选框按钮
- 复选框按钮在多次快速单击时效果不佳