Vivianluolita 2017-07-20 01:17 采纳率: 0%
浏览 1498
已采纳

回调函数为什么不起作用?

 <div id="switch-button" class="switch">
        <div class="switchOn"></div>
    </div>
 <script>
        $(document).ready(function(){
            //
                $("body").on("click",".switch",function(e){
                    e.stopPropagation();
                    console.log(this);
                var length=$(this).find(".switchOn").length;
                    console.log(length);
                if(length>0){
                    $(this).toggleClass("switchOn",function(){
                        alert("使用回调函数,先隐藏再弹出对话框!");
                    })

                }
            })
        });
        //回调

    </script>
  • 写回答

4条回答 默认 最新

  • 斯洛文尼亚旅游 2017-07-20 01:40
    关注

    你调用的这个版本的toggleClass(字符串)没有回调配置啊,直接看api toggleClass参数是什么的,不能乱传

                    /* $(this).toggleClass("switchOn", function () {
                        alert("使用回调函数,先隐藏再弹出对话框!");
                    })*/
                    //这样才是回调的版本
                    $(this).toggleClass(function (index, className) {
                        alert("使用回调函数,先隐藏再弹出对话框!");
                        if ($(this).hasClass('switchOn')) { $(this).removeClass('switchOn'); return '' }
    
                        return 'switchOn'
                    })
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?