2016-09-12 2 views
0

init에 패널 쇼가 있으며 '닫기'아이콘을 누르면 숨 깁니다. 'esc'버튼을 누르면 패널을 닫는 방법은 무엇입니까? 여기에 패널 HTML입니다 :Esc 버튼의 요소를 닫는 방법?

<div ng-init="vm.onInit()" class="mainContent"> 
    <div ng-if="vm.bool" class="fade totalFolderList"> 
     <div flex layout="row" layout-align="end end"> 
      <div> 
       <md-button ng-click="vm.hidePanel()" class="md-fab " aria-label="Use Android"> 
        <md-icon md-font-icon="zmdi zmdi-close"></md-icon> 
       </md-button> 
      </div> 
     </div> 
     <div layout="row" layout-fill flex> 
      <div class="folderListPanel padding-top-10" flex layout="column" layout-align="start center"> 
       <div>There are {{vm.foldersToJoin}} folder's to join</div> 
       <div> 
        <md-input-container> 
         <label></label> 
         <input ng-model="search.name" placeholder="Filter"> 
        </md-input-container> 
       </div> 
       <div style="overflow:auto;" class="whiteFrames"> 
        <md-whiteframe class="md-whiteframe-8dp foldersInList capitalize" layout ng-repeat="folder in vm.folderList | filter:search" ng-click="vm.openFolder(folder.id)"> 
         <span class="padding-left-10">{{folder.name = vm.getIterationName(folder.metadata)}}</span> 
        </md-whiteframe> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

그리고 여기 컨트롤러 hidePanel() 방법 : 컨트롤러 내부

function vm.hidePanel() { 
    vm.bool = false; 
    var intervalRequests = $timeout(function() { 
     $state.go('triangular.work'); 
    }, 1000); 
} 
+0

이 응답을 참조하십시오 http://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery – Tisamu

답변

2

사용 $document 서비스를 제공합니다. 예 :

//inside controller code 
$document.bind('keydown', function (e) { 

    if (e.keyCode==27){ //27 is ESC 
     //here code for hide panel 
     vm.hidePanel();// if vm is local variable of controller 
    } 

}); 
+0

e.keyCode의 == 27가 -하지 않습니다 작업. 예를 들어, e.keyCode == 13을 사용하면 잘 작동합니다. 어떻게해야합니까? – Serhiy

+0

@Serhiy keydown으로 변경 했으므로 작동해야합니다 –

+0

감사합니다. 도움이되었습니다. 질문이 하나 더 있습니다 - 'esc'키를 누를 때 느린 반응을 보이는 이유를 알고 있습니까? 예를 들어 '입력'을 누르십시오. – Serhiy

관련 문제