【问题标题】: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" 并想要切换此组件 onoff 这让我很麻烦,因为$(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()

    【讨论】:

      最近更新 更多