【问题标题】:Execute javascript after composite component has been updated and rendered = "true"复合组件更新和渲染后执行 javascript = "true"
【发布时间】:2015-03-05 12:26:11
【问题描述】:
我制作了一个由函数渲染的复合组件:
$(document).ready(function() {
...
}
当我一开始加载页面时一切正常,但是当我添加属性 rendered="true|false" 并想要切换此组件 on 和 off 这让我很麻烦,因为$(document).ready(function() 不会调用。
如何从复合组件本身检测到它正在重新加载并且rendered 属性设置为true(我认为最后一个应该类似于#{cc.rendered}
提前谢谢你。
【问题讨论】:
标签:
jsf
jsf-2
composite-component
【解决方案1】:
将内联<script>(或<h:outputScript>)添加到复合材料的条件渲染部分的底部,该部分应执行所需的功能。
<cc:implementation>
<ui:fragment rendered="#{someCondition}">
...
<script>someFunction();</script>
</ui:fragment>
</cc:implementation>
如有必要,该函数可以反过来委托给$(document).ready()。