jQuery UI对话框错误,按钮导致HierarchyRequestError

jQuery UI Dialog error with button causing HierarchyRequestError

本文关键字:HierarchyRequestError 按钮 UI 对话框 错误 jQuery      更新时间:2023-09-26

我有一段javascript在其他页面中使用得很好,但在新页面中抛出了HierarchyRequestError。这让我怀疑这是我页面中HTML的问题。这是一个大大简化的代码版本(仍然会产生错误):

window.webframe.loginDialog = function () {
    $("body").append('<div id="dialogSpace" />');
    $("#dialogSpace").load("/login/index #loginContainer", function () {
        $("#loginContainer").dialog({
            buttons:
            [
                {
                    text: "Hi",
                    click: function()
                    { alert('Hi');}
                }
            ]
            });
    });
};
$('#lnkLogin').click(function () {
    webframe.loginDialog();
    return false;
});

如果我运行此代码,我会从jQuery中得到以下错误:

HierarchyRequestError:无法在指定点插入节点在层次结构中

如果我删除按钮定义,那么错误就会消失。如果按钮选项本身存在,则没有什么区别,但如果我放入任何类型的单个按钮处理程序,则会发生错误。我还尝试了在选项中定义按钮的两种样式。

我使用的是jQuery 1.7.2和jQuery UI 1.8.23,我已经尝试升级到jQuery 1.8,没有任何更改。

正如我上面所说,我强烈怀疑这是HTML结构的问题,因为完全相同的代码文件在其他地方使用不同的页面也很好,我会继续研究,但这很奇怪,我想看看这是否会给其他人敲响警钟。

更新:我浏览了所有其他js引用,发现包括jquery.template(https://bitbucket.org/stanlemon/jquery-templates/)是什么原因导致的。尝试更新到最新版本,但已经3年了,问题仍然存在。必须将我现有的代码移植到最新的模板库中。

这不是你想要的答案,但我也遇到了同样的问题。升级到jQuery 2.02和jQuery UI 1.10.4并没有解决这个问题。最后我删除了jquery.template.js.

相关文章:
  • 没有找到相关文章