Jsf 在RichFaces4中单击列

Jsf 在RichFaces4中单击列,jsf,richfaces,richdatatable,Jsf,Richfaces,Richdatatable,我使用的是RichFaces4中的extendedDataTable。我想在用户单击该元素时在一行中显示该元素的详细信息页面。因此,我添加了如下内容 onrowclick="showDetails(#{item.id})" 坐到桌子上。这会触发相应的标记。到目前为止,这是有效的 然而,其中一列中有一个commandLink(用于切换到详细信息的编辑视图)。该链接适用于基于webkit的浏览器(Chrome/Safari)。但是IE和firefox只对行执行onclick。commandlink

我使用的是RichFaces4中的extendedDataTable。我想在用户单击该元素时在一行中显示该元素的详细信息页面。因此,我添加了如下内容

onrowclick="showDetails(#{item.id})"
坐到桌子上。这会触发相应的
标记。到目前为止,这是有效的

然而,其中一列中有一个commandLink(用于切换到详细信息的编辑视图)。该链接适用于基于webkit的浏览器(Chrome/Safari)。但是IE和firefox只对行执行onclick。commandlink在那里不起作用

是否可以只设置oncolumnclick或不包含commandlink的列?我还没有找到将onclick处理程序添加到特定列的方法(我正在为列使用rich:column)


或者有没有更好/更干净/更好的方法来实现“单击行中的某个位置以显示详细信息,单击最后一列中的链接以显示编辑视图”-我所追求的行为?

尝试将其放入命令按钮中

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

我目前的解决方法是不使用
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());
              });"/>

我真的不喜欢这个解决方案,但到目前为止效果很好


不过,我仍然希望找到更好的解决方案:)

不起作用。按钮显示单击动画,但tr的onclick获胜。