0

我遇到了以下问题,下面是代码:

// into some function invoked from ng-click

var msgbox = $dialog.messageBox(
    'Some Title',
    "Some message body", [{
        label: 'Button 1',
        result: 'RESULT 1',
    }, {
        label: 'Button 2',
        result: 'RESULT 2',
    }, {
        label: 'Button 3',
        result: 'RESULT 3',
    }]);

console.log('opening...');

msgbox.open().then(function (result) {
    console.log('result...');

    switch (result) {
        case 'RESULT 1':
            // do something here
            break;

        case 'RESULT 2':
            // do something else here
            break;

        case 'RESULT 3':
        default:
            // do nothing here
            break;
    }
});

在 Chrome (v28.0.1500.95) 和 Firefox (v22) 中,调用then匿名函数并且两个日志都显示在控制台中。应用程序按预期工作。

在 IE10 (v10.0.9200) 中,then函数永远不会被调用。仅显示第一个日志。
通过单击任何按钮关闭对话框后,UI 变得无响应:单击按钮或其他 UI 控件无效(但垂直滚动条有效)。

如果我之前在 IE Dev 工具中启用了调试,那么单独的 IE Dev 窗口也会变得非常缓慢响应。我想可能是什么东西进入了死循环,于是我暂停了执行:很长一段时间后,Dev 窗口通常会在 jQuery Event addEvent 方法中显示一行。

我正在使用的主要库:JSON3 3.2.4、jQuery 1.9.1、jQuery UI 1.10.1、AngularJS 1.0.5、AngularUI 0.4.0、Angular UI Bootstrap 0.2.0。

有没有人遇到过类似的问题?

4

1 回答 1

0

至少对我来说,这就是解决问题的方法:

我将Angular UI Bootstrap升级到0.5.0
在此之前,我还:

  • 检查了较新版本的Angular UI,但没有运气
  • 将Angular升级到 1.0.7,但对这个问题没有任何明显的改进。

附带说明一下,截至今天,我无法找到托管在任何 CDN 上的 v0.5.0(最高只有 0.4.0)。

于 2013-08-05T22:56:17.820 回答