有关<rich:tab> </rich:tab>的onclick属性的问题

时间:2010-11-17 14:07:34

标签: jsf richfaces

我有以下代码:

<rich:tabPanel switchType="client">
    <rich:tab name="tab1" label="tab1" onclick="alert('Hello');">
        ...
    </rich:tab>
    <rich:tab name="tab2" label="tab2" onclick="alert('Hi');">
        ...
    </rich:tab>
</rich:tabPanel>

此代码将生成一个包含2个标题页的面板,如下所示:

+------+ +------+
| tab1 | | tab2 |
+      +-+------+--------------------------+
|                                          |
|    Content of my Tab goes here...        |
|                                          |
+------------------------------------------+

关于使用的代码,如果点击Hi标题,我希望看到tab2的JavaScript提醒。

然而,没有显示任何内容,我只是切换到第二个标签。

事实上,如果我点击标签的内容,就会显示提醒信息。

我对这种行为感到有点困惑。

问题#1 这种行为是否正常?换句话说,onclick是指内容上的点击事件,而标题页上的不是

事实上,如果我查看此post及其相关的defect,它似乎不正确......

问题#2 如果此行为正常,如何为每个标签设置不同的onclick行为?实际上,如果我在onclick而不是<rich:tabPanel>组件上设置<rich:tab>,则始终会执行onclick javascript函数。

我正在使用Richfaces 3.3.2.GA,JSF 1.2 + Facelets,Java 1.6

1 个答案:

答案 0 :(得分:2)

在浏览了Richfaces论坛,特别是这个bug以及该组件的代码之后,我发现有一个onlabelclick属性可以完成我想做的事情。

所以第一个问题的答案是,第二个问题的工作代码是:

<rich:tabPanel switchType="client">
    <rich:tab name="tab1" label="tab1" onlabelclick="alert('Hello');">
        ...
    </rich:tab>
    <rich:tab name="tab2" label="tab2" onlabelclick="alert('Hi');">
        ...
    </rich:tab>
</rich:tabPanel>

我不知道这个属性,因为Richfaces的sitedeveloper guide没有说明它们,我的Eclipse IDE + JBoss Tools插件没有将它们包含在自动完成中机构。