PrimeFaces自定义渲染器未在Ajax更新中使用

时间:2015-11-10 10:13:21

标签: ajax primefaces custom-renderer

我试图编写PrimeFaces分页器以更符合WCAG规则。

原始页面链接(1 2 3 4 5)不是链接,而<span>是普通页码。我用''包装了这个数字,所以他们可以集中精力和标题来解释这个链接的用途。 Renderer工作正常,但在使用它之后,更改页面(AJAX请求)页面链接呈现为旧式。

为什么会这样,以及如何解决它?

我的渲染给出:

<span class="ui-paginator-pages">
    <span class="ui-paginator-page ui-state-default ui-state-active ui-corner-all">
        <a class="ui-paginator-page ui-state-default ui-state-active ui-corner-all" tabindex="10000" title="Link to page nr: 1">1</a>
    </span>
    <span class="ui-paginator-page ui-state-default ui-corner-all">
        <a class="ui-paginator-page ui-state-default ui-corner-all" tabindex="10001" title="Link to page nr: 2">2</a>
    </span>
</span>
更改页面结果后

<span class="ui-paginator-pages">
    <span class="ui-paginator-page ui-state-default ui-corner-all" tabindex="0">1</span>
    <span class="ui-paginator-page ui-state-default ui-corner-all ui-state-active" tabindex="0">2</span>
</span>

所以你可以看到,更新后的结构就像普通的PrimeFaces一样。锚点消失了,标签索引又回到了0

1 个答案:

答案 0 :(得分:0)

这种奇怪行为的原因是AJAX请求之后的渲染页面是由PrimeFaces中定义的JavaScript代码完成的。这意味着在这种情况下覆盖默认渲染器必须在Java和JavaScript中完成。