动画处理程序中的dijit.Dialog.hide()异常:onEnd

时间:2015-10-21 02:01:52

标签: dojo

我正在创建一个dijit Dialog,然后用OK / Cancel按钮隐藏它。随着对话框的隐藏,我始终在javascript控制台中获取以下错误:

exception in animation handler for: onEnd
TypeError: Cannot read property 'remove' of undefined(…)

见这里:https://www.youtube.com/watch?v=QcEUsllrRGs

错误似乎不会影响任何事情,但我确实喜欢解决它,因此我不会在调试时将此错误混淆为真正的功能问题。

我已经阅读了很多关于类似错误的建议......使用lang.hitch,断开事件,但似乎没有任何工作/适用。帮助?!

这是我的Dialog代码片段:

function showMessageDialog(title, message, width) {
    var content,
        focusOnOkButton = function () {
            dojo.byId('messageDialogOk').focus();
        };
    if (!dijit.byId("messageDialog")) {
        new dijit.Dialog({}, "messageDialog").startup();

        new dijit.form.Button({
            onClick: function() {
                dijit.byId('messageDialog').hide();
            }
        }, "messageDialogOk").startup();
    }

    if (width) {
        dojo.byId('messageDialogTable').style.width = width + "px";
    } else {
        dojo.byId('messageDialogTable').style.width = "450px";
    }
    dijit.byId('messageDialog').resize();
    dijit.byId('messageDialog').set("title", title);
    content = dojo.byId("messageDialogMessage");
    dojo.empty(content);
    content.innerHTML = message;
    dijit.byId('messageDialog').show();
    setTimeout(focusOnOkButton, 50);
}

....以及相关的HTML:

<div id="messageDialog" style="display:none;">
    <table id="messageDialogTable" style="width:450px;table-layout: fixed;">
        <tr>
            <td colspan="2" style="padding: 0 0px 0px 5px;">
                <table style="width: 100%;">
                    <tr>
                        <td id="messageDialogMessage" style="font-size: 10pt;"></td>
                    </tr>
                    <tr>
                        <td style="padding: 5px;text-align: center;">
                            <div id="messageDialogOk">OK</div>
                        </td>                                   
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</div>

我尝试用一​​个简单的JSFiddle示例复制问题,但不能......所以我的应用程序中有一些东西......但不确定它可能是什么。

0 个答案:

没有答案