2015-02-03 7 views
0

탈출 키에 수퍼 피쉬가 제대로 닫히지 않는 문제가 있습니다. 그것은 메뉴의 첫 번째 레벨에서 이스케이프를 닫지 만, 나는 세 가지 레벨을 가지고 있으며, 다른 이벤트로 전환 할 때 이스케이프 키 이벤트는 등록되지 않습니다.탈출시 수퍼 피시 메뉴 닫기

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 기능이 수행합니다 : 여기

은 BTW 나는 또한 angular.js을 사용하고, 내 코드의

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

이 메뉴의 첫 번째 수준에서 작동하지만, 당신이 볼 수 있듯이 #attrLevel 이스케이프로 전환하면 더 이상 작동하지 않습니다. 어떤 아이디어?

답변

0

문제는 초점이 맞았고, 나는 $ (element) .focus()를 사용하여 메뉴의 두 번째와 세 번째 수준에 요소를 집중 시켰습니다.