javascipt函数的运行顺序是什么。每个浏览器都会做一些其他的事情,例如我有这样的代码:
<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等。
发布于 2013-07-02 20:02:11
我只会使用jQuery
<tr:document>
<trh:script source="jquery.js"></trh:script>
<trh:script source="your_script.js"></trh:script>
...
</tr:document>然后,您可以在页面加载(.ready)时执行您的脚本:
$(document).ready(function(){
// Your stuff here
});如果您正在使用Ajax (Trinidad Partial Page Rendering),您可能想要在您的Javascript中添加一个state change listener。例如:
TrPage.getInstance().getRequestQueue().addStateChangeListener(function(state){
if (state == TrRequestQueue.STATE_READY){
// Your stuff here
}
});https://stackoverflow.com/questions/17323821
复制相似问题