Javascript 退出时关闭superfish菜单

Javascript 退出时关闭superfish菜单,javascript,jquery,angularjs,iframe,superfish,Javascript,Jquery,Angularjs,Iframe,Superfish,我有一个问题,superfish没有在退出键上正确关闭。它确实在第一级菜单的escape上关闭,但我有三个级别,当我切换到其他级别时,escape键事件没有注册 这是我的代码,顺便说一句,我也在使用angular.js: var iframe = document.getElementsByTagName('iframe')[0]; var innerDoc = iframe.contentDocument || iframe.contentWindow.document; var html

我有一个问题,superfish没有在退出键上正确关闭。它确实在第一级菜单的escape上关闭,但我有三个级别,当我切换到其他级别时,escape键事件没有注册

这是我的代码,顺便说一句,我也在使用angular.js:

var iframe = document.getElementsByTagName('iframe')[0];
var innerDoc = iframe.contentDocument ||   iframe.contentWindow.document;
var htmlElement = innerDoc.getElementsByTagName('html')[0];

    $(htmlElement).on( "keydown", function( event ) {
        if(event.which === 27) {
            scope.$apply(function (){
                scope.closeMenu();
            });

            event.preventDefault();
        }
    });
关闭菜单功能可执行以下操作:

scope.closeMenu = function () {
            $("#attrLevel").hide();
            $("#paramLevel").hide();
            $(".mbFirstLevel").hide();
            $("#contextMenu").hide();
        }

这在第一级菜单上起作用,但正如您所看到的,切换到#attrleep escape是否不再起作用。你知道为什么吗?

问题在于焦点,我用$(element.focus()将一个元素集中在第二级和第三级菜单上,结果成功了