window.onload не вызывается повторным рендерингом в richfaces?

У меня есть много мест на веб-сайте, где я хочу, чтобы код JavaScript выполнялся при загрузке страницы, а также при перерисовке области вокруг кода, например

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

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

в основном это код инициализации для меню, ползунков и т. д., которые существуют внутри div.

Я хотел обработать эти фрагменты кода, добавив вызовы функций в событие window.onload.

Это прекрасно работает для загрузки страницы, НО, если я перерисовываю область, событие window.onload не запускается... Я пробовал это в разных браузерах, но безуспешно.

Я не могу использовать oncomplete из элементов, которые вызывают повторное рендеринг, так как они повсюду, и они не должны знать о реализации компонентов.

Есть идеи как решить это?

2 ответа

Решение

DOH! проблема у меня была в том, что я загружал javascript asynchron (забыл об этом; он был построен много лет назад), и это вызывало ошибки javascript в FF4, когда он пытался вызвать функции, которых не было, поэтому я начал пытаться заставить его работать с window.onload.

я просто загружаю внешние javascripts нормально, и все работает нормально

У JQuery есть отличное решение, но я не уверен, что вы захотите загрузить JQuery только для этого.

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

Другие вопросы по тегам