代码之家  ›  专栏  ›  技术社区  ›  Romain Linsolas

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

  •  2
  • Romain Linsolas  · 技术社区  · 14 年前

    我有以下代码:

    <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>
    

    此代码将生成一个包含两个选项卡标题的面板,如下所示:

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

    关于使用的代码,我希望看到一个JavaScript警告 Hi 如果我点击 tab2 头球。

    但是,没有显示任何内容,我只是切换到第二个选项卡。

    事实上,如果我点击 内容 在选项卡中,将显示警报消息。

    我对这种行为有点困惑。

    问题1 这种行为正常吗?换句话说 onclick 指内容上的单击事件 在标签页眉上。

    的确,如果我看这个 post 与此相关 defect ,它似乎不正确。。。

    问题2 如果这种行为是正常的,我怎么能设置不同的 onclick公司 每个标签的行为?确实,如果我设置 onclick公司 <rich:tabPanel> 而不是 <rich:tab> 组件 onclick公司 将始终执行javascript函数。

    我使用的是Richfaces 3.3.2.GA、JSF 1.2+Facelets、java1.6

    1 回复  |  直到 14 年前
        1
  •  2
  •   Romain Linsolas    14 年前

    在浏览了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>
    

    我不知道这个属性,因为 site 以及 developer guide 我的EclipseIDE+JBoss工具插件没有将它们包含在自动完成机制中。