gpt4 book ai didi

jsf - 禁用命令按钮时,PrimeFaces 6.2 命令按钮标题不起作用

转载 作者:行者123 更新时间:2023-12-02 06:18:31 24 4
gpt4 key购买 nike

环境:JSF 2.2.14、PrimeFaces 6.2

我的命令按钮设置如下,当按钮被禁用时,标题将在 PF6.1 中显示(当悬停时),但不会在 PF6.2 中显示

<p:commandButton id="removeCmd" icon="fa fa-times" 
actionListener="#{controller.remove()}"
update="@form"
disabled="#{ontroller.isCommandDisabled()}"
style="width: 20px; height:20px;margin-left: 5px;"
title="#{controller.isCommandDisabled() ? 'Command disabled due to user privilege' : 'remove selected item'}"
onstart="PF('bui').show(); PF('bar').show();"
oncomplete="PF('bui').hide(); PF('bar').hide();"
styleClass="removeCmd"/>

当按钮未禁用时,标题显示正常。

有人遇到同样的问题吗?我还尝试将 p:commandButton 包装在 h:panelGrid 中并使用 p:tooltip ,但也不起作用。

更新:在 github 上创建的问题:https://github.com/primefaces/primefaces/issues/3656

最佳答案

我本质上很好奇(并且我稍微关注 PrimeFaces 的变化)。如果按钮的标题在 6.1 和 6.2 之间不再起作用,我会开始进行一些分析。两个 PrimeFaces 版本中的按钮生成的 html 是相同。这让我思考它是否也会停止为其他组件工作。所以我创建了一个简单的页面

<p:inputText title="myInput enabled" />
<p:inputText title="myInput disabled" disabled="true"/>

使用 PrimeFaces 6.1 和 6.2 之间的行为变化是相同的。标题在 6.1 中适用,但仅在 6.2 中适用于第一个。由于 PrimeFaces 6.1 和 6.2 之间存在重大的 jquery 更改,因此我在 google 中发布了“jquery show title tooltip ofDisabled inputs and Buttons”。

其中一个热门话题是: Show tooltip for disabled items

其中引用了一些禁用 dom 事件并因此不显示标题的 css(!)。

pointer-events: none;

我打开了浏览器开发工具,在 css 选项卡的过滤器部分中,我输入了“指针”。使用6.1时没有任何内容,但在6.2中却有。

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

这似乎来自 Components.css 文件(根据我的浏览器开发工具)。这不是 PrimeFaces 存储库中存在的文件,而是通过 maven 构建 PrimeFaces 版本时创建的文件:

此处包含的文件之一是 jquery-ui.css其中就是上面引用的 css 片段。

当我在浏览器开发工具中禁用相应的pointer-events: none时,输入和按钮的标题都变得可见。

因此,如果您想覆盖此设置,请将其设置为“全部”(或您喜欢的任何其他值)。

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

另请参阅

关于jsf - 禁用命令按钮时,PrimeFaces 6.2 命令按钮标题不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50281355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com