【问题标题】:Primefaces: Does any get p:effect to work on GlassfishPrimefaces:是否有任何 p:effect 可以在 Glassfish 上工作
【发布时间】:2010-10-20 18:33:24
【问题描述】:

这是我的代码。当我点击链接Comment时,会出现inputTextareacommandButton

    <h:outputLink id="link" value="javascript:void(0)">
            <h:outputText value="Comment"/>
            <p:effect type="fade" event="click" for="reply">
                <f:param name="mode" value="'show'"/>
            </p:effect>
        </h:outputLink>
        <h:panelGrid id="reply" style="display:none;">
            <h:inputTextarea id="keyword" rows="2" /> &nbsp;                
        </h:panelGrid>
    </h:outputLink>

当我点击链接时,似乎什么也没有发生,什么也没有出现。任何想法。我在 Glassfish 上运行它。 primeface.org 的展示在 Tomcat 下运行。

【问题讨论】:

  • 工作正常。 ui:repeath:dataTable 中有这个吗?
  • 我不这么认为。我创建了一个全新的 jsf 文件并像上面一样输入,但它不起作用。您是否也在运行 Glassfish v3.0.1 以及 BalusC? [Primeface2.2.RC1-SNAPSHOT]
  • 对,我从PrimeFaces showcase 复制粘贴示例,对此感到抱歉。我会发布一个答案。

标签: jsf glassfish primefaces


【解决方案1】:

有两个问题:

首先,根据PrimeFaces User Guide,不支持appear效果。

以下是 PrimeFaces 支持的效果列表。

  • 盲人
  • 剪辑
  • 放下
  • 爆炸
  • 折叠
  • 幻灯片
  • 规模
  • 弹跳
  • 高亮
  • 脉动
  • 摇晃
  • 尺寸
  • 转让

所以把p:effect改成:

<p:effect type="blind" event="click" for="reply">
    <f:param name="mode" value="'show'" />  
</p:effect>

其次,生成的链接源告诉如下:

<a href="javascript:void(0)">Comment<script type="text/javascript">
YAHOO.util.Event.addListener('j_idt6:j_idt7', 'click', function(e) {
  jQuery(PrimeFaces.escapeClientId('j_idt6:reply')).effect('blind',{mode:'show'},1000);
});</script></a>

客户端 ID j_idt6:j_idt7 不会出现在源代码中的任何位置。它必须是链接本身。因此,将id 添加到h:outputLink 应该可以解决它。看起来像 PrimeFaces 中的错误。

【讨论】:

  • 是的。谢谢 balusC。遗憾的是,Primeface 论坛不再像以前那样获得支持。过去,Catay 自己几乎回答了所有问题。非常感谢 BalusC
  • 嗨BalusC,我注意到,当我点击链接时,文本框慢慢出现,在那段时间,它是焦点,但是当它完成加载时,它不再是焦点。有没有办法修复那个 BalusC?我尝试将 p:focus 放入其中,但仅在文本框保持显示时才有效。如果它先隐藏然后再显示,p:focus 不起作用。
  • 我昨天看到你发了一个关于这个问题的问题,我今天打算在那里发一个答案,但是你似乎已经删除了这个问题?
  • 无论如何,答案归结为jQuery.effect() 不支持p:effect 中的回调选项,并且您必须在 PF 人员处发布功能请求。
  • 检查jQuery.effect()documentation。有一个回调参数,您可以在其中传递一个要在效果完成时执行的函数。 &lt;p:effect&gt; 没有提供任何以 JSF 方式定义它的方式。例如,您希望有一个 oncomplete 属性。当然,您可以完全放弃&lt;p:effect&gt;,使用“普通”jQuery 将其掌握在手中。
猜你喜欢
  • 2017-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 2010-09-09
  • 2017-09-26
  • 2015-01-29
  • 1970-01-01
相关资源
最近更新 更多