我正在创建一个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示例复制问题,但不能......所以我的应用程序中有一些东西......但不确定它可能是什么。