0

我有如下代码。它基本上在触摸时打开一个菜单,并在触摸它时再次关闭。但是,当它被触摸到屏幕上的任何位置时,我试图让它关闭。也不要让其他层在上面移动,我使用 return false,如果有其他方法让我知道。实际上,总的来说,我认为这段代码可以很快变得更好,但我又不是程序员,所以以你知道的视觉方式做事:)

var closed = 1;
        $(".plus").on("touchstart",function(event){
                    if(closed == 1) {
                        t=$(this).parent();
                        openmenu(t,250);
                        closed = 0;
                        $(".plus").addClass("negative");
                        return false;
                    }
                    else    {
                        var handler = function(event){
                            if($(event.target).is(".toggle, .toggle *")) return;

                            $(document).off("click", handler);

                            $(".mainNav").find(".toggle").slideUp(250,easing);
                            closed = 1;
                            $(".plus").removeClass("negative");
                            return false;
                            }   
                            $(document).on("click", handler);


                }
        })
4

1 回答 1

0
$(':not(.plus)').click(function(){ //close the menu });
于 2013-03-24T11:31:06.590 回答