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 только для этого.