如果已使用(点击)链接,我们需要更改链接颜色。 我们正在使用h:commandLink和action方法。以下是代码段。
.xhtml文件 -
<h:commandLink styleClass="changeLinkColor" action="#{bean.actionMethod}">
<span><h:outputText value="UserName"/></span>
</h:commandLink>
.CSS文件 -
.changeLinkColor
{
color:#0000FF;
text-decoration:none;
}
.changeLinkColor a:link
{
color:blue;
text-decoration:none;
}
.changeLinkColor a:visited
{
color: black;
}
除了a:visit之外,所有样式都正常工作。 但是,如果我们将h:commandLink更改为h:outputLink,它可以正常工作。但是后者没有动作方法属性。因此无法使用它。
如果您有任何解决方法可以通过h:commandLink标记更改链接颜色,请分享。
答案 0 :(得分:1)
当浏览器看到访问过的链接地址(href)时,请更改为访问过的颜色。
但是commandLink将生成一个带onclick的链接,它将返回false以禁用href行为,例如:
<a onclick="return submitForm(x);" href="#">xx</a>
所以这不是JSF问题,是一个HTML问题。
我们的解决方案是:
使用jquery示例:
$(document).ready(function() {
$("#linkDiv a").each(function(idx, elem)) {
elem.href = '/dummy_' + elem.innerHTML + '.xhtml';
var oldfunc = elem.onclick;
$(elem).click(function(){
invisibleFrame.location.href = elem.href;
return oldfunc();
});
});
});