复合组件更新并呈现=“true”后执行javascript

时间:2015-03-05 12:26:11

标签: jsf jsf-2 composite-component

我制作了一个由函数渲染的复合组件:

$(document).ready(function() {
   ...
}

当我在开头加载页面时,一切正常,但当我添加属性rendered="true|false"并希望将此组件打开关闭时,它会生成麻烦,因为$(document).ready(function()没有调用。

如何从复合组件本身检测到它正在重新加载,rendered属性设置为true(最后一个我认为应该是#{cc.rendered}

提前谢谢。

1 个答案:

答案 0 :(得分:1)

将内联<script>(或<h:outputScript>)添加到复合的有条件渲染部分的底部,该部分应执行所需的函数。

<cc:implementation>
    <ui:fragment rendered="#{someCondition}">
        ...
        <script>someFunction();</script>
    </ui:fragment>
</cc:implementation>

如果需要,该功能可以委托给$(document).ready()