Как связать событие «oncomplete» Richfaces с помощью jQuery? - PullRequest
1 голос
/ 25 января 2012

Я пытаюсь привязать функцию jQuery к событию 'oncomplete' в компоненте Richfaces 3.3 a4j: commandButton.Поскольку я не хочу размещать функцию на самом компоненте commandButton, я пытаюсь связать ее при загрузке документа.Я думаю, что событие не связано с загрузкой документа из-за того, что кнопка еще не отображается?

Вот как я разместил привязку ...

jQuery(document).ready(function(){
            jQuery('#Btn1').bind('complete', function(){                    
                jQuery('#panel1').slideUp(750);
                jQuery('.selection1').slideDown(750);
                jQuery('.Next1').show();
            }); });

Вот командная кнопка, которая находится на другой странице включения и используется повторно в нескольких местах.Вот почему я не хочу размещать эту функцию на самой кнопке.

<a4j:commandButton id="Btn1" value="Select"/>

Итак, как бы я связал функцию 'oncomplete' с компонентом Btn1 из другого места, скажем родительской страницы?

Большое спасибо!

1 Ответ

0 голосов
/ 15 марта 2012

Я использовал Richfaces 4, но я думаю, что применима та же теория.

Вы не присоединяете событие к командной кнопке как таковой, но к событию ajax, которое создается нажатием кнопки (при условии, что onclick возвращает true)

На самом деле JSF выполняет магию, что если этот компонент запускает действие, он вызывает JS при рендеринге ajax.

По сути, до щелчка ничего не делается, это реально атрибут на стороне сервера.

Richfaces (минимум 4) расширяет обычный объект JSF ajax (javascript), и я верю, что вы можете прикрепить к нему свой обработчик. Но это может не оказать вам никакой реальной помощи. Мне пришлось прикрепить к нему обработчик, чтобы исправить некоторые проблемы с состоянием представления.

Вы всегда можете прикрепить функцию к завершению на кнопке, которая ссылается на необязательно существующую функцию.

так <a4j:commandButton ... oncomplete="foo()"/>

и затем на любой странице, включающей эту кнопку, вы можете определить эту функцию. Не самое лучшее решение, но, возможно, будет лучшим выбором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...