正如 BalusC 所提到的,您可以只使用 Primefaces,这是使用PowerTip jQuery 插件的示例代码:
<p:selectOneMenu id="users" converter="userConverter" var="u">
<f:selectItems value="#{userManagedBean.users}" var="user" itemLabel="#{user.firstName}" itemValue="#{user}"/>
<p:column >
<span customData="#{u.emailOrAnyOtheInfoYouWantToDisplayInTooltip}" class="aClassForTooltips">
<h:outputText value="#{u.firstName} - #{u.lastName}" />
</span>
</p:column>
在 jQuery 部分:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<h:outputScript name="js/jquery.powertip.min.js" />
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function () {
jQuery('.aClassForTooltips').each(function(){
var elementToH = jQuery(this),
data = elementToH.attr('customdata').replace(/%20/g,' ');
elementToH.data('powertip', function() {
return '<div style="background-color:black;width:200px;height:25px">'+data+'.</div>';
});
///////
elementToH.powerTip({
placement: 'ne' // north-east tooltip position
});
//////
});
});
span
注意元素
中自定义属性的使用。如果与任何 JSF 组件一起使用,则 JSF 渲染器会忽略此属性,这就是您需要 span 的原因。
最后不要忘记至少包含这个 CSS:
#powerTip {
position: absolute;
display: none;
z-index: 2147483647;
color:red;
}
我希望这有帮助