【问题标题】:In PrimeFaces (4.0) confirm dialog, how do I ensure 'No' is in focus by default?在 PrimeFaces (4.0) 确认对话框中,如何确保默认情况下“否”成为焦点?
【发布时间】:2015-06-30 23:00:25
【问题描述】:

如下图所示,“是”按钮获得了主要焦点。您能否确保在不交换按钮的情况下确保“否”处于焦点位置,也许使用属性?

【问题讨论】:

  • 试过了,没用。在文档中也找不到 p:confirmDialogue 的属性“焦点”。
  • 好的,看起来像是已知问题/功能。擎天柱说用这个blog.primefaces.org/?p=2559有人试过这个forum.primefaces.org/viewtopic.php?f=3&t=41290但没有帮助他们。
  • 此功能适用于<p:dialog><p:dialog focus="buttonId" ...>,如here 所述,但同样适用于<p:confirmDialog>。你可能需要一些自定义的 JavaScript/jQuery。
  • 你可以使用 加上一点额外的代码

标签: jsf jsf-2 primefaces


【解决方案1】:

据我所知,唯一的方法是交换 xhtml 中的按钮。但是您可以使用“是”按钮上的float:left 来保持对话框中出现的顺序。

<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
    <p:commandButton value="Yes" type="button" style="float:left;" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
</p:confirmDialog>

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2014-04-08
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多