首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF <trh:script>rendering和运行顺序

JSF <trh:script>rendering和运行顺序
EN

Stack Overflow用户
提问于 2013-06-26 23:07:19
回答 1查看 1.2K关注 0票数 0

javascipt函数的运行顺序是什么。每个浏览器都会做一些其他的事情,例如我有这样的代码:

代码语言:javascript
复制
  <h:panelGrid id="panel" columns="2" border="1" cellpadding="0" cellspacing="2">
    <f:facet name="header">
        <h:outputText value="#{messages.signInMessage}"/>
    </f:facet>
    <h:outputLabel for="username" value="#{messages.usernameLabel}" />
 </h:panelGrid>
 <trh:script>
       // do some logic
       // alert("end!");
 </trh:script>

我希望脚本总是在面板完全渲染后运行,这样我就可以拿他的宽度为例,用javascript函数做一些事情。

这在除了IE 8之外的所有浏览器中都可以很好地工作,脚本在面板完全呈现之前运行。

任何人都可以帮助我理解这个问题,在更多的genreal中正确的顺序是什么,浏览器之间的区别是什么: IE,Chrome,FF等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 20:02:11

我只会使用jQuery

代码语言:javascript
复制
<tr:document>
  <trh:script source="jquery.js"></trh:script>
  <trh:script source="your_script.js"></trh:script>
  ...
</tr:document>

然后,您可以在页面加载(.ready)时执行您的脚本:

代码语言:javascript
复制
$(document).ready(function(){
  // Your stuff here
});

如果您正在使用Ajax (Trinidad Partial Page Rendering),您可能想要在您的Javascript中添加一个state change listener。例如:

代码语言:javascript
复制
TrPage.getInstance().getRequestQueue().addStateChangeListener(function(state){
  if (state == TrRequestQueue.STATE_READY){
    // Your stuff here
  }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17323821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档