我正在使用Richfaces 4中的extendedDataTable。我想在用户点击它时连续显示元素的详细信息页面。因此我添加了类似
的内容onrowclick="showDetails(#{item.id})"
到桌子上。这会触发相应的<a4j:jsFunction/>
标记。到目前为止这是有效的。
但是,其中一列中有一个commandLink(用于切换到详细信息的编辑视图)。该链接适用于基于webkit的浏览器(Chrome / Safari)。但IE和Firefox只在行上执行onclick。 commandlink在那里不起作用。
是否有可能仅设置oncolumnclick或不包含commandlink的列?我没有找到一种方法来向特定列添加onclick-handler(我使用rich:column for column。)
或者是否有更好/更清洁/更好的方式来实现“点击行中的某个位置以显示详细信息,单击最后一列中的链接以显示编辑视图”-behaviour我在追求?
答案 0 :(得分:0)
尝试将其放入commandButton
onclick="Event.stop(event||window.event)"
答案 1 :(得分: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());
});"/>
我真的不喜欢这个解决方案,但到目前为止工作正常。
我仍然愿意接受更好的解决方案:)