1

我对 Angular Material 的 sidenav 的本机热键“esc”操作有疑问。当按下 esc 时,框架将切换$mdSidenav('left/right').toggle()。这是不可取的,因为我希望我的切换操作也切换其他操作。

我尝试使用“纯”javascript 来阻止代码操作:

document.onkeydown = function(e) {
    if (e.which == 27) return false;
};

document.onkeyup = function(e) {
    if (e.which == 27) return false;
};

它失败了。我累了:

document.onkeydown = function(e) {
  if (e.which == 27) {
    break;
    return false;
  }
};

document.onkeyup = function(e) {
  if (e.which == 27) {
    break;
    return false;
  }
};

它也失败了,因为它不是合法的中断声明。

4

2 回答 2

0

您可以通过删除第 93 行来禁用 esc 操作angular-material.js

于 2015-03-12T00:53:19.080 回答
0

按照这种方法:https ://github.com/angular/material/issues/974#issuecomment-67784785

您可以观看$scope.isOpen,当它关闭时,您可以检查(使用另一个范围标志)是否按下了“关闭”按钮。如果没有,您可以重新打开 sidenav,并且不会被用户感知。

希望能帮助到你。

于 2015-10-08T17:52:14.673 回答