ngDialog 保持关闭状态,直到鼠标移动停止

ngDialog stays in closing state until mouse movement stops

我正在使用 ngDialog angular 指令并在 Chrome 中进行测试。如果您查看 DOM(使用 Chrome 工具),您会注意到当您关闭 ngDialog 时它将保持 "ngdialog-closing" 状态,直到鼠标移动停止。 DIV 叠加层在此期间保持打开状态,您无法单击它后面的任何内容。

http://likeastore.github.io/ngDialog

https://github.com/likeastore/ngDialog/blob/master/js/ngDialog.js

有谁知道这是为什么以及如何解决这个问题?

经过一番研究,这似乎是由 CSS 动画引起的。当我完全禁用它们时,我没有遇到这个问题。

这似乎可以解决问题。我用设置为动画长度的超时替换了 animationend 事件的绑定。 Chrome 中的 UX 有了这个就好多了。

if (animationEndSupport && !options.disableAnimation) {
    scope.$destroy();
    $timeout(function () {
        privateMethods.closeDialogElement($dialog, value);
    }, 500);
    //$dialog.unbind(animationEndEvent).bind(animationEndEvent, function () {
    //    privateMethods.closeDialogElement($dialog, value);
    //});
    $dialog.addClass('ngdialog-closing');
} else {
    scope.$destroy();
    privateMethods.closeDialogElement($dialog, value);
}