在Angular 2中显示模态时停止退格

时间:2016-10-18 14:03:21

标签: angular

我有一个模式,点击一个按钮显示(工作正常)。我已经设法阻止它在点击它外面并且也使用'Esc'键关闭但是我想要的问题是当模态打开并且用户点击键盘上的'删除(退格)键时,我的模态保持显示(如预期的那样),但背景中的屏幕变为上一个,我想停止此操作。

我的模态

的所有代码如下所示
vm.addTransfersIn = function (ev) {
    vm.moneyindialogservice.setcurrentdialogtype('Transfer', 'Add');
    $mdDialog.show({
        controller: 'MoneyInDialogController',
        templateUrl: 'src/moneyin/components/moneyin.dialog.tmpl.html',
        parent: angular.element(document.body),
        targetEvent: ev,
        clickOutsideToClose: false,
        escapeToClose: false
    })
    .then(function (answer) {
        vm.status = answer;
    }, function () {
        vm.status = 'Cancel';
    });
};

1 个答案:

答案 0 :(得分:1)

您可以添加绑定到键盘事件的hostListner。然后处理输出。要阻止发生默认功能,请致电event.preventDefault()

    @HostListener("document:keyup", ["$event"])
    handleKeyup(event: KeyboardEvent) {
        if (event.keyCode === 8) {
            event.preventDefault();
        }
    }