Javascript 如何在JSF2中渲染AJAX部件时添加JS效果?
在JSF2中,我可以通过AJAX更新部分视图。我假设组件树的一部分是在服务器上生成/更新的,呈现为HTML,并将此HTML发送到客户端。然后在适当的地方插入DOMJavascript 如何在JSF2中渲染AJAX部件时添加JS效果?,javascript,jsf-2,Javascript,Jsf 2,在JSF2中,我可以通过AJAX更新部分视图。我假设组件树的一部分是在服务器上生成/更新的,呈现为HTML,并将此HTML发送到客户端。然后在适当的地方插入DOM 这是可行的,但我想知道当我希望这个新的HTML部分出现时,是否可以添加一些jQuery(或其他JS)效果?如果我想要它,例如淡入,该怎么办?我能做这个吗?如何使用?使用Primefaces很容易: 否则,您可以使用f:ajax标记的onevent属性,该属性接受Javascript函数名作为值。在AJAX请求期间,此函数将被调用三次
这是可行的,但我想知道当我希望这个新的HTML部分出现时,是否可以添加一些jQuery(或其他JS)效果?如果我想要它,例如淡入,该怎么办?我能做这个吗?如何使用?使用Primefaces很容易: 否则,您可以使用
f:ajax
标记的onevent
属性,该属性接受Javascript函数名作为值。在AJAX请求期间,此函数将被调用三次:在函数参数的状态字段中设置begin
、complete
和success
查看“JavaServerFaces2.0-完整参考”的第355页了解更多信息
您可以在此处看到一个工作示例:
更新:来自Primefaces用户指南:
当第一次加载页面或ajax请求完成后,效果也可以应用于任何JSF组件。下面的示例在ajax请求后使用脉动效果为消息设置动画
<p:messages id="messages">
<p:effect type="pulsate" event="load">
<f:param name="mode" value="'show'" />
</p:effect>
</p:messages>
<p:commandButton value="Save" actionListener="#{bean.action}" update="messages"/>
Primefaces很不错,但它在显示后不应用于组件吗?例如,通过ajax调用,我呈现了一些以前隐藏的组件。不是先渲染,然后应用效果吗?不是,因为组件有一个“事件”属性。。。Primefaces用户指南中的一个例子:当第一次加载页面或ajax请求完成后,效果也可以应用于任何JSF组件。下面的示例在ajax请求后使用脉动效果为消息设置动画<代码>(很抱歉格式化,在注释字段中似乎不起作用…)