2010-11-17 22 views
2

onclick属性提问:有以下代码:关于<rich:tab>

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

关于代码使用的,我如果我点击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的

回答

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> 

我不知道这个属性的,因为site和RichFaces的的developer guide做不会告诉他们任何事情,我的Eclipse IDE + JBoss Tools插件没有在自动完成机制中包含它们。

+0

你知道为什么我不能使用“返回false”来结束onlabel点击事件中选项卡的导航吗? – 2012-10-10 15:42:58

+2

更改为在richfaces 4中的onheaderclick – Yashar 2013-12-13 14:37:09

相关问题