【问题标题】:Rich:DataTable sorting breaks when row contains h:commandLinkRich:DataTable 排序在行包含 h:commandLink 时中断
【发布时间】:2012-03-20 21:35:53
【问题描述】:

我有一个带有排序功能的rich:dataTable。表中的每一行都有一个 h:command 链接到另一个页面。这在所有非 webkit 浏览器中都可以正常工作。

点击表头排序时,表格内容被清除,Chrome JavaScript 控制台显示如下错误:

Uncaught Error: NOT_SUPPORTED_ERR: DOM Exception 9

这似乎是一个已知问题 (https://issues.jboss.org/browse/RF-6096),但没有任何解决方案。

【问题讨论】:

    标签: jsf webkit richfaces


    【解决方案1】:

    我发现使用:

    <a4j:commandLink ... />
    

    而不是

    <h:commandlink .../>
    

    解决了表格排序的所有问题。

    (我无法登录 JBoss 问题跟踪器来添加此评论,所以如果您有访问权限并且这对您有用,请添加评论。)

    【讨论】:

    【解决方案2】:

    这似乎是 webkit 实现 document.importNode 的问题。为了避免这个问题,你可以在你的模板文件中使用这段 javascript 代码:

    if( /webkit/.test( navigator.userAgent.toLowerCase() ) ){
        var _importNode = window.document.importNode;
        window.document.importNode = function(node, deep){
            try{
                return _importNode.apply(this, arguments);
            } catch(e) {
                if( e.code == DOMException.NOT_SUPPORTED_ERR ){
                    // clone and adopt
                    return document.adoptNode(node.cloneNode(deep));
                }
                throw e;
            }
        };
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-13
      • 2013-01-29
      • 1970-01-01
      • 2011-09-05
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      相关资源
      最近更新 更多