【问题标题】:jQuery UI Dialog error with button causing HierarchyRequestError带有导致 HierarchyRequestError 的按钮的 jQuery UI 对话框错误
【发布时间】:2012-09-02 04:19:42
【问题描述】:

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

【问题讨论】:

  • 马修,你能不能把 jsfiddle 和 html 放在一起。我想试一试。

标签: javascript jquery jquery-ui jquery-templates


【解决方案1】:

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

【讨论】:

  • 是的,删除 jQuery.Template 也是我们最终要做的。感谢您关注这么老的问题。
猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
  • 2010-10-31
相关资源
最近更新 更多