2011-02-07 59 views
5

我想要使用Richfaces左键单击呈现链接的文本(蓝色文本,下划线和光标onmouseover)来呈现上下文菜单。所以,想象一下点击时显示上下文菜单的链接。请注意,我不在乎文本是否确实是链接,我只是想以作为链接出现。所以,即使是普通的文本也可以,我会让它看起来像使用CSS的链接。Richfaces:使用ContextMenu的链接式文本

我具备以下条件:

  • 上下文菜单中必须出现在客户端,未做要求。
  • 上下文菜单必须使用​​(这些“链接”)出现在数据表中,因此必须重新使用相同的rich:contextMenu

我还没有找到一个满意的解决方案,因为每一个我都试过的做法已经引起了我的问题:

  1. 如果我使用h:outputText(这将是理想的),我不能将其附加一个​​(我猜是因为它无法触发onclick事件)。
  2. 如果我使用a4j:commandLink,虽然我可以附加​​,它会发出服务器请求。我试图添加onclick="return false;"来阻止请求,但Richfaces添加了由​​之后生成的任何内容,它导致onclick无法触及此代码,当然上下文菜单根本不会出现。

有没有办法做到这一点?请记住,没有要求!

回答

2

您可以尝试

<rich:componentControl disableDefault="true" ...> 

根据这种PARAM componentControl应该添加return false;本身文档。

但要注意相应的bug:RF-5607

如果文档在于你可以使用HTML锚。 This answer展示了如何创建componentControl和无刷新页面的链接:

<h:outputLink value="#" id="link" onclick="return false;"> 
    <h:outputText value="Link text"/> 
    <rich:componentControl attachTo="link" for="panel" operation="show" event="onclick"/> 
</h:outputLink> 

onclick="return false;"防止锚从滚动页面被点击链接。

+0

感谢您的回答。我设置了disableDefault =“true”,但不幸的是POST请求像以前一样发生。 (+1) – 2011-02-10 07:54:09