window.onload不是由richfaces中的rerender触发的?

时间:2011-04-01 16:30:58

标签: javascript jsf richfaces rerender

我在网站上有很多地方,我希望在页面加载时执行javascript代码,以及重新呈现代码周围的区域时, e.g。

<div id="blah">
<script>
addLoadEvent(function (){
  submenus.init('somedata');
});

</script>
loads of other stuff here
</div>

主要是代码是div中存在的菜单,滑块等的初始化代码。

我想通过向window.onload添加函数调用来处理这些代码片段 事件

这适用于加载页面,但如果我重新渲染该区域,则不会触发window.onload事件... 我在不同的浏览器中试过这个,没有成功。

我不能使用导致重新渲染的元素的oncomplete,因为它们遍布整个地方,并且它们不应该真正了解组件的实现。

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

JQuery有一个很好的解决方案,但我不确定你是否只想为此加载JQuery。

http://api.jquery.com/ready/

答案 1 :(得分:0)

DOH!我遇到的问题是我正在加载javascript asynchron (忘了它;它是在几年前构建的),这导致FF4中的javascript错误,当它尝试调用不存在的函数时,因此我开始尝试使用window.onload。

我只是正常加载外部javascripts,一切正常