角度模态服务 - 如何从外面关闭?

时间:2016-04-17 20:10:46

标签: javascript angularjs modal-dialog

这是angular-modal-service github

这些是angular-modal-service examples

每个示例都有HTML和JavaScript文件,我正在开发" Custom Modal"没有Bootstrap,CSS文件是:

CSS:

#overlay {
    position: fixed;
    left: 25%;
    top: 25%;
    padding: 25px;
    border: 2px solid black;
    background-color: #ffffff;
    width: 50%;
    height: 50%;
    z-index: 100;
}
#fade {
    position: fixed;
    left: 0%;
    top: 0%;
    background-color: black;
    -moz-opacity: 0.7;
    opacity: .70;
    filter: alpha(opacity=70);
    width: 100%;
    height: 100%;
    z-index: 90;
}

#custom-modal.ng-enter {
  transition: opacity .5s ease-out;
  opacity: 0;
}
#custom-modal.ng-enter.ng-enter-active {
  opacity: 1;
}
#custom-modal.ng-leave {
  transition: opacity .5s ease-out;
  opacity: 1;
}
#custom-modal.ng-leave.ng-leave-active {
  opacity: 0;
}

"简单是/否模态"和#34;复杂的模态"。可以通过单击模态外部来关闭它们。但是" Custom Modal"不能这样做。

如何在没有Bootstrap的情况下从外面关闭?

1 个答案:

答案 0 :(得分:1)

嗨alvarezsh我解决了在我的模态控制器上添加eventListener然后搜索模态名称以关闭它的问题。这是我使用的代码。

let dismissModal = (ev) => {
  let localName = ev.target.tagName || '';
  if (localName === 'tt-modal') {
    removeEventListener('click', dismissModal);
    self.uaClose();
  }
};

addEventListener('click', dismissModal);