在逃脱关闭超级鱼菜单

时间:2015-02-03 09:46:44

标签: javascript jquery angularjs iframe superfish

我有一个问题,超级鱼没有正确关闭转义键。它在第一级菜单上关闭,但是我有三个级别,当我切换到其他时,转义键事件没有注册。

这是我的代码,顺便说一下我也在使用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();
        }
    });

closeMenu函数执行此操作:

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

这适用于第一级菜单,但正如您可以看到切换到#attrLevel转换不再有效。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题在于焦点,我只是用$(元素).focus()将一个元素集中在菜单的第二级和第三级,并且它有效。