如何关闭esc按钮上的元素?

时间:2016-09-12 09:24:50

标签: html angularjs

我在初始化时有面板显示,当我按下“关闭”图标时隐藏。 按'esc'按钮时如何关闭面板? 这是面板html:

<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);
}

1 个答案:

答案 0 :(得分: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
   }

});