我本质上很好奇(并且我稍微关注 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 显示禁用输入和按钮的标题工具提示”。
其中一项热门内容是:显示禁用项目的工具提示 https://stackoverflow.com/questions/25862017/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 https://github.com/primefaces/primefaces/blob/master/src/main/resources/META-INF/resources/primefaces/jquery/jquery.ui.css其中就是上面引用的 css 片段。
当我禁用相应的pointer-events: none
在我的浏览器开发工具中,输入和按钮的标题都变得可见。
因此,如果您想覆盖此设置,请将其设置为“全部”(或您喜欢的任何其他值)。
html .ui-state-disabled {
pointer-events: all;
}
See also
- 如何使用自定义样式覆盖默认的 PrimeFaces CSS? https://stackoverflow.com/questions/8768317/how-do-i-override-default-primefaces-css-with-custom-styles