Ukit模态防止关闭转义按钮

时间:2016-03-11 14:08:43

标签: javascript css angularjs modal-dialog uikit

我在Angularjs上使用Uikit,我需要创建一个指令,当我按下esc按钮时,该指令会阻止关闭Modal。我试着用这种方式:

mainApp.directive('ngEsc', function () {
    return function (scope, element, attrs) {
        element.bind("keydown keypress keyup", function (event) {
            if(event.which === 27) {
                event.preventDefault();
            }
        });
    };
});

然后将指令放在模态

上                       测试模式     

但它仍然关闭。还有其他办法吗?

3 个答案:

答案 0 :(得分:2)

您是否尝试过使用keyboard:false选项?

UIkit.modal("#modal element", {bgclose: false, keyboard:false}).show();

它适用于我的情况。

你也可以看到模态uikit的核心:modal.js

答案 1 :(得分:2)

下面是我在我的angular 7项目中解决此问题的方法;

uikit.modal("#modalR", { bgClose: false, escClose: false, modal: false, keyboard:false}).show(this.data)

有关更多信息,请访问下面的链接 https://github.com/uikit/uikit/blob/develop/src/js/core/modal.js#L15:L21

答案 2 :(得分:0)

您可以尝试使用“return false”而不是preventDefault:

mainApp.directive('ngEsc', function () {
    return function (scope, element, attrs) {
        element.bind("keydown keypress keyup", function (event) {
            if(event.which === 27) {
                return false;
            }
        });
    };
});