2016-03-11 34 views
0

我正在使用Uikit Angularjs和我需要创建一个可能的指令,防止当我按Esc按钮关闭模态。我试着用这种方式:Ukit模态防止关闭逃生按钮

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

,然后把指令的模态

测试模式

但它仍然关闭。有没有其他方法?

回答

0

您可以尝试使用 “返回false” 代替了preventDefault的:

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

感谢的人,它的工作,但我需要把重点放在整个模式,使之工作。我的意思是,当它打开时,如果我按esc它不起作用,它关闭模式。如果我打开模式,我点击它,然后我按esc它的作品,它不会关闭它..有没有办法解决这最后一个问题? –

2

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

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

它工作在我的情况。

你可以看到模式的UIKit的核心,以及:modal.js