我在jsfiddle中也有以下代码:http://jsfiddle.net/n3pdahtv/

$(document).ready(function(){
    $("#somebox").bootstrapSwitch();

    $("#somebox").bootstrapSwitch().on("switchChange.bootstrapSwitch", function (event, state) {
        alert("Switch pressed");
    });
});

<input type="checkbox" name="somebox" id="somebox" value="40" data-size="mini" data-handle-width="55" data-label-width="30" data-on-text="active" data-off-text="inactive" checked>


问题是,当您单击“活动”和“非活动”之间的白色区域时,开关不会从一侧视觉上移到另一侧。无论如何,事件都会触发警报。该开关取自该网站(http://www.bootstrap-switch.org/),并且我的头部具有bootstrap / jquery / bootstrap-switch参考。当您单击白色区域时,该网站上的示例将起作用,但我不知道为什么...

最佳答案

您的alert正在阻止动画,只需将其删除即可,它将正常工作:

  $(document).ready(function(){

        $("#somebox").bootstrapSwitch();


    });


Live Demo

10-07 15:41