Bootstrap switchChange事件在更改状态时仍在激发
Bootstrap switchChange event still firing when changing state
我下面有这个开关:
<input id="upperLightSwitch" type="checkbox" checked data-size="mini">
这样,当点击开关状态改变时,$(document).ready
中的switchChange(on change)事件会触发精细。
$('#upperLightSwitch').on('switchChange.bootstrapSwitch', function (event, state) {
sendStateToArduino("upperLight");
updateLightState("upperLight",state);
});
我的问题是,当我从数据库中检查一个值时,它是0。我将切换开关状态设置为false,并将第三个参数设置为false(表示在更改时不触发事件),但在执行上述事件中的两个方法时,事件仍然会触发。
Bootsrap网站报价:
$('#toggle state switch').bootstrapSwitch('state',false,false);//将状态设置为关闭,不触发switchChange事件
我正在使用
$('#upperLightSwitch').bootstrapSwitch('state', false,false );
在编写事件代码之前,我正在调用一个方法,以便在加载所有内容时与数据库一起检查该值。
我错过了什么?
编辑:引导开关链接
最后一个参数应该是true而不是false,如下所示,以禁止事件触发
$('#upperLightSwitch').bootstrapSwitch('state', false,true );
您不能使用"开箱即用"的javascript(方法)来实现这一点,但有一个非常简单的解决方案!
以下是我所做的。。。(效果很好!)
在您的文档中
$(document).ready(function () {
//declare a flag.
$.onC = 0;
然后,当您设置切换/切换时
function yourFunction()
{
//first set the flag.
$.onC = 1;
$(th).bootstrapToggle('off');
}
现在在更改函数中
$(".onOff").on("change", function (e) {
//check the flag and reset it
if ($.onC == 1)
{
$.onC = 0;
return;
}
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- React redux初始化功能,无论状态变化如何
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- iOS 中的按钮触摸状态
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- Bootstrap switchChange事件在更改状态时仍在激发