【问题标题】:Close superfish menu on escape逃生时关闭超级鱼菜单
【发布时间】:2015-04-02 11:07:25
【问题描述】:

我遇到了一个问题,即 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 转义是否不再起作用。任何想法为什么?

【问题讨论】:

    标签: javascript jquery angularjs iframe superfish


    【解决方案1】:

    问题出在焦点上,我只是用 $(element).focus() 将一个元素集中在第二和第三级菜单上,它就起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      相关资源
      最近更新 更多