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 之外的所有浏览器 该脚本在面板完全渲染之前运行。
任何人都可以帮助我理解这个问题,正确的顺序是什么 更通俗地说,浏览器之间有什么区别:IE、Chrome、FF 等。
最佳答案
我只会使用 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 ),您可能需要添加 state change listener在你的 JavaScript 中。例如:
TrPage.getInstance().getRequestQueue().addStateChangeListener(function(state){
if (state == TrRequestQueue.STATE_READY){
// Your stuff here
}
});
关于java - JSF <trh :script>rendering and running order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17323821/