Javascript 调用jquery.change()函数时产生太多不需要的结果

Javascript 调用jquery.change()函数时产生太多不需要的结果,javascript,jquery,html,Javascript,Jquery,Html,我在HTML中有一个引导切换按钮,如下所示: <input id="warnbtn" type="checkbox" checked data-toggle="toggle" data-onstyle="success" data-offstyle="danger" > 我的钮扣不象我的那个光滑 我用.change函数得到的结果有很多不想要的结果,比如这里的图片听起来你多次加载同一个脚本。每次运行同一块时,它都会添加一个新的更改事件侦听器,每个侦听器都会在事件发生时激发 你应该找出

我在HTML中有一个引导切换按钮,如下所示:

<input id="warnbtn" type="checkbox" checked data-toggle="toggle" data-onstyle="success" data-offstyle="danger" >
我的钮扣不象我的那个光滑


我用.change函数得到的结果有很多不想要的结果,比如这里的图片

听起来你多次加载同一个脚本。每次运行同一块时,它都会添加一个新的更改事件侦听器,每个侦听器都会在事件发生时激发

你应该找出原因并设法预防

对于短期解决方案,您可以先调用
off()
,以删除以前调用的任何事件侦听器

尝试:


谢谢你回答我的问题:(我想我会用另一个解决方案替换切换按钮。

。你能提供一个帮助演示吗?我也根据这里提供的信息启动了一个堆栈片段,使用引导库,无法重现该问题。我尝试生成纯HTML,但无法再次重现,它甚至没有显示切换按钮:(
    $(function() {
    $('#warnbtn').change(function() {
        var state = $(this).prop('checked')
        if(state){
            console.log("On");
        }else{
            console.log("Off");
        }   
    })
})
$('#warnbtn').off('change').change(function() {
    var state = $(this).prop('checked')
    if(state){
        console.log("On");
    }else{
        console.log("Off");
    }   
})