我可以在primefaces中显示禁用命令按钮的工具提示吗?

时间:2012-03-26 07:59:09

标签: jsf primefaces

是否有一个功能可显示工具提示,用于在primefaces中禁用commandButton。

4 个答案:

答案 0 :(得分:11)

如果你找不到在禁用按钮上显示工具提示的方法,你可以尝试用一些

包装它

<h:panelGroup></h:panelGroup>将变为span

<h:panelGroup layout="block"></h:panelGroup>将变为div

尝试将工具提示应用于包装器......

答案 1 :(得分:2)

我想延长Daniel's回答。您需要在禁用按钮上插入叠加块并在其上应用工具提示。 h:panelGroup中的简单包装按钮不会那么有用。

<h:panelGroup styleClass="display: inline-block; position: relative;">
    <p:commandButton disabled="#{controller.isDisabled()}" ... />
    <h:panelGroup styleClass="display: block; height: 100%; width: 100%; position: absolute; top: 0px; left: 0px;"
                  rendered="#{controller.isDisabled()}"
                  id="disabledBtnOverlay" />
</h:panelGroup>
<p:tooltip for="disabledBtnOverlay" rendered="#{controller.isDisabled()}" />

答案 2 :(得分:1)

一种使禁用的按钮或输入文本显示工具提示的方法是创建全局工具提示,并在输入文本或按钮中创建标题,如下所示:

<p:tooltip />

<p:inputText id="inputTextID" disabled="true" value="Your value"
title="TooltipMessage" />

尽管它不会显示任何样式,但不知道为什么

答案 3 :(得分:0)

在此问题中,@ Kukeltje解释了为什么工具提示在禁用的命令按钮上不起作用:PrimeFaces 6.2 commandButton title not working when commandbutton is disabled

如果类.ui-state.disabled的Disabled属性设置为true,则将其添加到按钮:

.ui-state-disabled {
    cursor: default!important;
    pointer-events: none;
}

为了始终显示工具提示,您可以创建以下内容:

<p:commandButton id="testButton" disabled="true"
   action="yourAction" styleClass="showTooltip" value="Click me!" />

在您的css文件中添加以下规则:

.ui-state-disabled.showTooltip{
    pointer-events: all;
}

如果元素同时具有ui-state-disabledshowTooltip两个类,则工具提示将始终显示。