0

我正在使用 Richfaces 4 中的扩展数据表。我想在用户单击它时连续显示元素的详细信息页面。因此我添加了类似的东西

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

到桌子上。这会触发相应的<a4j:jsFunction/>标签。到目前为止,这是有效的。

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

是否可以仅设置不包含命令链接的 oncolumnclick 或列?我还没有找到将 onclick-handler 添加到特定列的方法(我正在使用 rich:column 作为列。)

或者是否有更好/更清洁/更好的方法来实现“单击行中的某处以显示详细信息,单击最后一列中的链接以显示编辑视图” - 我追求的行为?

4

2 回答 2

0

试着把它放在你的 commandButton

onclick="Event.stop(event||window.event)"
于 2011-07-08T13:53:15.443 回答
0

我目前的解决方法 HACK 是不使用,onrowclick而是将 a 添加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());
              });"/>

我真的不喜欢这个解决方案,但到目前为止它运行良好。

不过,我仍然愿意寻求更好的解决方案:)

于 2011-07-11T14:39:56.330 回答