jQuery UI Dialog错误,导致HierarchyRequestError按钮

时间:2012-09-08 16:17:22

标签: javascript jquery jquery-ui jquery-templates

我有一段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岁,问题仍然存在。必须将我现有的代码移植到最新的模板库。

1 个答案:

答案 0 :(得分:1)

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