2011-07-08 45 views
0

我正在使用Richfaces 4的扩展数据表。我想在用户单击时在行中显示一个元素的详细信息页面。因此我添加了类似列表点击丰富面孔4

onrowclick="showDetails(#{item.id})" 

的表格。这会触发相应的<a4j:jsFunction/>标记。这工作到目前为止。

但是,其中一列中有一个commandLink(用于切换到细节的编辑视图)。该链接适用于基于webkit的浏览器(Chrome/Safari)。但IE和Firefox只能执行该行的onclick。命令链接在那里不起作用。

难道只能设置一个oncolumnclick或不包含commandlink的列吗?我没有找到一种方法来添加一个onclick处理程序到特定列(我正在使用rich:列的列)。

或者是否有更好/更清洁/更好的方式来达到“点击某处行以显示详细信息,单击最后一列中的链接以显示编辑视图“-behaviour我以后?

回答

0

我目前的解决方法是HACK不使用onrowclick更增添styleClass="clickable"到我的所有列,除了一个与链接。在第一列中,我增加了以下内容:

<h:outputText value="#{item.id}" style="display: none;" styleClass="id"/> 

然后在表后我用下面的jQuery:

<rich:jQuery selector=".myTable td.clickable" query="live('click', function(event) { 
       showDetails($(this).parent().children().children('.id').text()); 
       });"/> 

我真的不喜欢这样的解决方案,但它工作正常至今。

虽然我仍然打开更好的解决方案:)

0

尝试把这个在你的commandButton

onclick="Event.stop(event||window.event)" 
+0

不工作。按钮显示点击动画,但tr的onclick获胜。 –